From 41f2b11234cef1081fb195f6c58654ce6b86f8d3 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 6 Sep 2021 18:52:37 +0200 Subject: [PATCH] Virtual inheritance prototype for select --- cmake/CMakeLists.txt | 5 + src/ifcgeom/IfcGeom.h | 16 +- src/ifcgeom/IfcGeomFunctions.cpp | 2 +- src/ifcgeom/IfcGeomShapes.cpp | 2 +- src/ifcgeom/IfcRegister.cpp | 12 +- src/ifcgeom/IfcRegisterConvertCurve.h | 2 +- src/ifcgeom/IfcRegisterConvertFace.h | 2 +- src/ifcgeom/IfcRegisterConvertShape.h | 4 +- src/ifcgeom/IfcRegisterConvertShapes.h | 4 +- src/ifcgeom/IfcRegisterConvertWire.h | 2 +- .../ifcopenshell/express/header.py | 52 +- .../ifcopenshell/express/templates.py | 6 +- src/ifcparse/Ifc2x3.h | 1632 ++++++------- src/ifcparse/Ifc4.h | 1932 +++++++-------- src/ifcparse/Ifc4x1.h | 1982 +++++++-------- src/ifcparse/Ifc4x2.h | 2012 +++++++-------- src/ifcparse/Ifc4x3_rc1.h | 2150 ++++++++-------- src/ifcparse/Ifc4x3_rc2.h | 2164 ++++++++--------- src/ifcparse/Ifc4x3_rc3.h | 2142 ++++++++-------- src/ifcparse/Ifc4x3_rc4.h | 2140 ++++++++-------- src/ifcparse/IfcBaseClass.h | 59 +- src/ifcparse/IfcHierarchyHelper.cpp | 12 +- src/ifcparse/IfcLogger.cpp | 8 +- src/ifcparse/IfcLogger.h | 16 +- .../schema_dependent/XmlSerializer.cpp | 2 +- 25 files changed, 8202 insertions(+), 8158 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8378e329e8..39cf8888aa 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -489,6 +489,11 @@ if(ENABLE_BUILD_OPTIMIZATIONS) endif() IF(MSVC) + # warning due to virtual inheritance + ADD_DEFINITIONS(-wd4250) + # warning due to select definitions in the schema being redundant + ADD_DEFINITIONS(-wd4584) + # didn't work well on ifcopenbot, @todo make configurable # add_definitions(/MP) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 7ed7306046..72c1245d73 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -353,13 +353,13 @@ public: bool convert_wire_to_face(const TopoDS_Wire& wire, TopoDS_Face& face); bool convert_wire_to_faces(const TopoDS_Wire& wire, TopoDS_Compound& face); bool convert_curve_to_wire(const Handle(Geom_Curve)& curve, TopoDS_Wire& wire); - bool convert_shapes(const IfcUtil::IfcBaseClass* L, IfcRepresentationShapeItems& result); - IfcGeom::ShapeType shape_type(const IfcUtil::IfcBaseClass* L); - bool convert_shape(const IfcUtil::IfcBaseClass* L, TopoDS_Shape& result); + bool convert_shapes(const IfcUtil::IfcBaseInterface* L, IfcRepresentationShapeItems& result); + IfcGeom::ShapeType shape_type(const IfcUtil::IfcBaseInterface* L); + bool convert_shape(const IfcUtil::IfcBaseInterface* L, TopoDS_Shape& result); bool flatten_shape_list(const IfcGeom::IfcRepresentationShapeItems& shapes, TopoDS_Shape& result, bool fuse); - 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_wire(const IfcUtil::IfcBaseInterface* L, TopoDS_Wire& result); + bool convert_curve(const IfcUtil::IfcBaseInterface* L, Handle(Geom_Curve)& result); + bool convert_face(const IfcUtil::IfcBaseInterface* L, TopoDS_Shape& result); 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); void assert_closed_wire(TopoDS_Wire& wire); @@ -426,7 +426,7 @@ public: static TopoDS_Shape apply_transformation(const TopoDS_Shape&, const gp_Trsf&); static TopoDS_Shape apply_transformation(const TopoDS_Shape&, const gp_GTrsf&); - bool is_identity_transform(IfcUtil::IfcBaseClass*); + bool is_identity_transform(IfcUtil::IfcBaseInterface*); IfcSchema::IfcRelVoidsElement::list::ptr find_openings(IfcSchema::IfcProduct* product); @@ -545,7 +545,7 @@ public: const IteratorSettings& settings, IfcUtil::IfcBaseClass* representation, IfcUtil::IfcBaseClass* product) { - return create_brep_for_representation_and_product(settings, (IfcSchema::IfcRepresentation*) representation, (IfcSchema::IfcProduct*) product); + return create_brep_for_representation_and_product(settings, representation->as(), product->as()); } virtual IfcRepresentationShapeItems convert(IfcUtil::IfcBaseClass* item) { diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 1c6988bb8e..b3712cb5ba 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -3459,7 +3459,7 @@ const IfcSchema::IfcRepresentationItem* IfcGeom::Kernel::find_item_carrying_styl return item; } -bool IfcGeom::Kernel::is_identity_transform(IfcUtil::IfcBaseClass* l) { +bool IfcGeom::Kernel::is_identity_transform(IfcUtil::IfcBaseInterface* l) { IfcSchema::IfcAxis2Placement2D* ax2d; IfcSchema::IfcAxis2Placement3D* ax3d; diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index b44f830ffa..8ea57cc6f9 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -895,7 +895,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresenta bool part_succes = false; const IfcGeom::SurfaceStyle* parent_style = get_style(l); for (aggregate_of_instance::it it = elements->begin(); it != elements->end(); ++it) { - IfcSchema::IfcGeometricSetSelect* element = *it; + auto element = *it; TopoDS_Shape s; if (shape_type(element) == ST_SHAPELIST) { IfcRepresentationShapeItems items; diff --git a/src/ifcgeom/IfcRegister.cpp b/src/ifcgeom/IfcRegister.cpp index b9358d0580..77de689e3d 100644 --- a/src/ifcgeom/IfcRegister.cpp +++ b/src/ifcgeom/IfcRegister.cpp @@ -26,7 +26,7 @@ using namespace IfcUtil; -bool IfcGeom::Kernel::convert_shapes(const IfcBaseClass* l, IfcRepresentationShapeItems& r) { +bool IfcGeom::Kernel::convert_shapes(const IfcBaseInterface* l, IfcRepresentationShapeItems& r) { if (shape_type(l) != ST_SHAPELIST) { TopoDS_Shape shp; if (convert_shape(l, shp)) { @@ -45,12 +45,12 @@ bool IfcGeom::Kernel::convert_shapes(const IfcBaseClass* l, IfcRepresentationSha return false; } -IfcGeom::ShapeType IfcGeom::Kernel::shape_type(const IfcBaseClass* l) { +IfcGeom::ShapeType IfcGeom::Kernel::shape_type(const IfcBaseInterface* l) { #include "IfcRegisterShapeType.h" return ST_OTHER; } -bool IfcGeom::Kernel::convert_shape(const IfcBaseClass* l, TopoDS_Shape& r) { +bool IfcGeom::Kernel::convert_shape(const IfcBaseInterface* l, TopoDS_Shape& r) { const unsigned int id = l->data().id(); bool success = false; bool processed = false; @@ -111,7 +111,7 @@ bool IfcGeom::Kernel::convert_shape(const IfcBaseClass* l, TopoDS_Shape& r) { return success; } -bool IfcGeom::Kernel::convert_wire(const IfcBaseClass* l, TopoDS_Wire& r) { +bool IfcGeom::Kernel::convert_wire(const IfcBaseInterface* l, TopoDS_Wire& r) { #include "IfcRegisterConvertWire.h" Handle(Geom_Curve) curve; if (IfcGeom::Kernel::convert_curve(l, curve)) { @@ -121,13 +121,13 @@ bool IfcGeom::Kernel::convert_wire(const IfcBaseClass* l, TopoDS_Wire& r) { return false; } -bool IfcGeom::Kernel::convert_face(const IfcBaseClass* l, TopoDS_Shape& r) { +bool IfcGeom::Kernel::convert_face(const IfcBaseInterface* l, TopoDS_Shape& r) { #include "IfcRegisterConvertFace.h" Logger::Message(Logger::LOG_ERROR,"No operation defined for:",l); return false; } -bool IfcGeom::Kernel::convert_curve(const IfcBaseClass* l, Handle(Geom_Curve)& r) { +bool IfcGeom::Kernel::convert_curve(const IfcBaseInterface* l, Handle(Geom_Curve)& r) { #include "IfcRegisterConvertCurve.h" Logger::Message(Logger::LOG_ERROR,"No operation defined for:",l); return false; diff --git a/src/ifcgeom/IfcRegisterConvertCurve.h b/src/ifcgeom/IfcRegisterConvertCurve.h index 4b32b4dcbf..693771842c 100644 --- a/src/ifcgeom/IfcRegisterConvertCurve.h +++ b/src/ifcgeom/IfcRegisterConvertCurve.h @@ -1,6 +1,6 @@ #include "IfcRegisterUndef.h" #define CURVE(T) \ - if ( l->declaration().is(IfcSchema::T::Class()) ) return convert((IfcSchema::T*)l,r); + if (l->as()) return convert(l->as(), r); #include "IfcRegisterDef.h" #include "IfcRegister.h" \ No newline at end of file diff --git a/src/ifcgeom/IfcRegisterConvertFace.h b/src/ifcgeom/IfcRegisterConvertFace.h index 90b631667e..aafc568bef 100644 --- a/src/ifcgeom/IfcRegisterConvertFace.h +++ b/src/ifcgeom/IfcRegisterConvertFace.h @@ -1,6 +1,6 @@ #include "IfcRegisterUndef.h" #define FACE(T) \ - if ( l->declaration().is(IfcSchema::T::Class()) ) return convert((IfcSchema::T*)l,r); + if (l->as()) return convert(l->as(), r); #include "IfcRegisterDef.h" #include "IfcRegister.h" \ No newline at end of file diff --git a/src/ifcgeom/IfcRegisterConvertShape.h b/src/ifcgeom/IfcRegisterConvertShape.h index 36e573eeb9..4e53c121ac 100644 --- a/src/ifcgeom/IfcRegisterConvertShape.h +++ b/src/ifcgeom/IfcRegisterConvertShape.h @@ -1,9 +1,9 @@ #include "IfcRegisterUndef.h" #define SHAPE(T) \ - if ( !processed && l->declaration().is(IfcSchema::T::Class()) ) { \ + if (!processed && l->as()) { \ processed = true; \ try { \ - if ( convert((IfcSchema::T*)l,r) ) { \ + if ( convert(l->as(),r) ) { \ success = true; \ } \ } catch (const std::exception& e) { \ diff --git a/src/ifcgeom/IfcRegisterConvertShapes.h b/src/ifcgeom/IfcRegisterConvertShapes.h index 1613b1f1fb..d43643ecc8 100644 --- a/src/ifcgeom/IfcRegisterConvertShapes.h +++ b/src/ifcgeom/IfcRegisterConvertShapes.h @@ -1,8 +1,8 @@ #include "IfcRegisterUndef.h" #define SHAPES(T) \ - if ( l->declaration().is(IfcSchema::T::Class()) ) { \ + if (l->as()) { \ try { \ - return convert((IfcSchema::T*)l,r); \ + return convert(l->as(), r); \ } catch (const std::exception& e) { \ Logger::Message(Logger::LOG_ERROR, std::string(e.what()) + "\nFailed to convert:", l); \ } catch (const Standard_Failure& f) { \ diff --git a/src/ifcgeom/IfcRegisterConvertWire.h b/src/ifcgeom/IfcRegisterConvertWire.h index fab25fac84..69716410d4 100644 --- a/src/ifcgeom/IfcRegisterConvertWire.h +++ b/src/ifcgeom/IfcRegisterConvertWire.h @@ -1,6 +1,6 @@ #include "IfcRegisterUndef.h" #define WIRE(T) \ - if ( l->declaration().is(IfcSchema::T::Class()) ) return convert((IfcSchema::T*)l,r); + if (l->as()) return convert(l->as(), r); #include "IfcRegisterDef.h" #include "IfcRegister.h" \ No newline at end of file diff --git a/src/ifcopenshell-python/ifcopenshell/express/header.py b/src/ifcopenshell-python/ifcopenshell/express/header.py index cc403c8f70..14e2702a84 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/header.py +++ b/src/ifcopenshell-python/ifcopenshell/express/header.py @@ -23,11 +23,16 @@ import codegen import templates import documentation +from collections import defaultdict class Header(codegen.Base): def __init__(self, mapping): declarations = [] + case_lookup = lambda nm: [k for k in mapping.schema.keys if k.lower() == nm.lower()][0] + case_normalize = lambda nm: nm if nm.startswith("IfcUtil::") else case_lookup(nm) + create_supertype_statement = lambda nms: ", ".join("public %s %s" % ("" if c.startswith("IfcUtil::") else "",c) for c in nms) + write = lambda str, **kwargs: declarations.append( str % dict({"documentation": templates.multi_line_comment(documentation.description(kwargs["name"]))}, **kwargs) @@ -36,9 +41,19 @@ class Header(codegen.Base): forward_names = list(mapping.schema.entities.keys()) + list(mapping.schema.simpletypes.keys()) forward_definitions = "".join(["class %s; " % n for n in forward_names]) + select_super_types = defaultdict(list) + for name, type in mapping.schema.selects.items(): + for nm in type.values: + select_super_types[str(nm).lower()].append(name) write(templates.select, name=name) + def get_select_super_types(nm): + x = list(select_super_types[nm.lower()]) + for y in x: + x.extend(get_select_super_types(y)) + return set(x) + for name, type in mapping.schema.enumerations.items(): short_name = name[:-4] if name.endswith("Enum") else name write(templates.enumeration, name=name, values=", ".join(["%s_%s" % (short_name, v) for v in type.values])) @@ -46,19 +61,31 @@ class Header(codegen.Base): emitted_simpletypes = set() while len(emitted_simpletypes) < len(mapping.schema.simpletypes): for name, type in mapping.schema.simpletypes.items(): + if name.lower() in emitted_simpletypes: continue + type_str = mapping.make_type_string(mapping.flatten_type_string(type)) attr_type = mapping.make_argument_type(type) superclass = mapping.simple_type_parent(name) - if superclass is None: - superclass = "IfcUtil::IfcBaseType" - elif superclass.lower() not in emitted_simpletypes: - continue + + superclasses = [] + if superclass is not None: + superclasses.append(superclass) else: - # Case normalize - superclass = [k for k in mapping.schema.simpletypes.keys() if k.lower() == superclass.lower()][0] + superclasses.append("IfcUtil::IfcBaseType") + superclasses.extend(get_select_super_types(name)) + + is_emitted = lambda nm: nm == "IfcUtil::IfcBaseType" or nm in mapping.schema.selects or nm.lower() in emitted_simpletypes + if not all(map(is_emitted, superclasses)): + continue + + superclasses = list(map(case_normalize, superclasses)) + emitted_simpletypes.add(name.lower()) + + superclass = create_supertype_statement(superclasses) + write(templates.simpletype, name=name, type=type_str, attr_type=attr_type, superclass=superclass) class_definitions = [] @@ -73,6 +100,7 @@ class Header(codegen.Base): for name, type in mapping.schema.entities.items(): if name.lower() in emitted_entities: continue + if len(type.supertypes) == 0 or set(map(str.lower, type.supertypes)) <= emitted_entities: attr_lines = [] @@ -106,13 +134,11 @@ class Header(codegen.Base): if len(inverse): inverse += "\n" - def case_norm(n): - n = n.lower() - return [k for k in mapping.schema.entities.keys() if k.lower() == n][0] - - supertypes = map(case_norm, type.supertypes) if len(type.supertypes) else ["IfcUtil::IfcBaseEntity"] - superclass = ": %s " % (", ".join(["public %s" % c for c in supertypes])) - + supertypes = list(type.supertypes) if len(type.supertypes) else ["IfcUtil::IfcBaseEntity"] + supertypes.extend(get_select_super_types(name)) + supertypes = list(map(case_normalize, supertypes)) + superclass = create_supertype_statement(supertypes) + argument_count = mapping.argument_count(type) argument_start = argument_count - len(type.attributes) diff --git a/src/ifcopenshell-python/ifcopenshell/express/templates.py b/src/ifcopenshell-python/ifcopenshell/express/templates.py index 53b0dc706b..a7b50012b6 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/templates.py +++ b/src/ifcopenshell-python/ifcopenshell/express/templates.py @@ -107,7 +107,7 @@ derived_field_statement = " {std::set idxs; %(statements)sderived_map[Ty derived_field_statement_attrs = "idxs.insert(%d); " simpletype = """%(documentation)s -class IFC_PARSE_API %(name)s : public %(superclass)s { +class IFC_PARSE_API %(name)s : %(superclass)s { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -137,7 +137,7 @@ simpletype_impl_cast_templated = ( simpletype_impl_declaration = "return *%(schema_name_upper)s_%(class_name)s_type;" select = """%(documentation)s -typedef IfcUtil::IfcBaseClass %(name)s; +class IFC_PARSE_API %(name)s : public virtual IfcUtil::IfcBaseInterface {}; """ enumeration = """class IFC_PARSE_API %(name)s : public IfcUtil::IfcBaseType { @@ -157,7 +157,7 @@ public: """ entity = """%(documentation)s -class IFC_PARSE_API %(name)s %(superclass)s{ +class IFC_PARSE_API %(name)s : %(superclass)s { public: %(attributes)s %(inverse)s virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index aed6e52616..c29cfb022c 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -60,7 +60,7 @@ class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActo /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,13 +75,13 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -98,7 +98,7 @@ typedef IfcUtil::IfcBaseClass IfcAxis2Placement; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -107,34 +107,34 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. -typedef IfcUtil::IfcBaseClass IfcCharacterStyleSelect; +class IFC_PARSE_API IfcCharacterStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcClassificationNotationSelect; +class IFC_PARSE_API IfcClassificationNotationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcConditionCriterionSelect; +class IFC_PARSE_API IfcConditionCriterionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -143,21 +143,21 @@ typedef IfcUtil::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcDateTimeSelect; +class IFC_PARSE_API IfcDateTimeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcDefinedSymbolSelect; +class IFC_PARSE_API IfcDefinedSymbolSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -232,7 +232,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinedSymbolSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -241,9 +241,9 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcDraughtingCalloutElement; +class IFC_PARSE_API IfcDraughtingCalloutElement : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -251,24 +251,24 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcFillAreaStyleTileShapeSelect; +class IFC_PARSE_API IfcFillAreaStyleTileShapeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -276,7 +276,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -287,7 +287,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -310,7 +310,7 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -337,7 +337,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -347,7 +347,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -360,13 +360,13 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcOrientationSelect; +class IFC_PARSE_API IfcOrientationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -374,7 +374,7 @@ typedef IfcUtil::IfcBaseClass IfcOrientationSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -383,7 +383,7 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -395,7 +395,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -415,7 +415,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -428,7 +428,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -439,7 +439,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -449,7 +449,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -459,7 +459,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -469,7 +469,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -477,7 +477,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSymbolStyleSelect; +class IFC_PARSE_API IfcSymbolStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -485,7 +485,7 @@ typedef IfcUtil::IfcBaseClass IfcSymbolStyleSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -495,13 +495,13 @@ typedef IfcUtil::IfcBaseClass IfcTextFontSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. -typedef IfcUtil::IfcBaseClass IfcTextStyleSelect; +class IFC_PARSE_API IfcTextStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -515,7 +515,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -526,7 +526,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -535,7 +535,7 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionSourceTypeEnum : public IfcUtil::IfcBaseType { /// Definition from IAI:This enumeration type contains possible /// action sources. @@ -5745,7 +5745,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5758,7 +5758,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5774,7 +5774,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5787,7 +5787,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5802,7 +5802,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5815,7 +5815,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5834,7 +5834,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5890,7 +5890,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5904,7 +5904,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5918,7 +5918,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5933,7 +5933,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5953,7 +5953,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5962,7 +5962,7 @@ public: operator int() const; }; -class IFC_PARSE_API IfcDaylightSavingHour : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDaylightSavingHour : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5976,7 +5976,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -5991,7 +5991,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6004,7 +6004,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6018,7 +6018,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6031,7 +6031,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6044,7 +6044,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6057,7 +6057,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6072,7 +6072,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6085,7 +6085,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6098,7 +6098,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6111,7 +6111,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6133,7 +6133,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6153,7 +6153,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6184,7 +6184,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6197,7 +6197,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6210,7 +6210,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6231,7 +6231,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6244,7 +6244,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6255,7 +6255,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6264,7 +6264,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcHourInDay : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHourInDay : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6286,7 +6286,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6299,7 +6299,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6312,7 +6312,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6327,7 +6327,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6342,7 +6342,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6353,7 +6353,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6366,7 +6366,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6379,7 +6379,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6401,7 +6401,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue, public IfcConditionCriterionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6416,7 +6416,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6429,7 +6429,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6442,7 +6442,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6455,7 +6455,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6468,7 +6468,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6481,7 +6481,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6494,7 +6494,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6509,7 +6509,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6524,7 +6524,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6537,7 +6537,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6550,7 +6550,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6563,7 +6563,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6576,7 +6576,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6591,7 +6591,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6606,7 +6606,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6615,7 +6615,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcMinuteInHour : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMinuteInHour : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6628,7 +6628,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6641,7 +6641,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6654,7 +6654,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6671,7 +6671,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6684,7 +6684,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6697,7 +6697,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6710,7 +6710,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6722,7 +6722,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6786,7 +6786,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6800,7 +6800,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6811,7 +6811,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6826,7 +6826,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcTrimmingSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6839,7 +6839,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6858,7 +6858,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcOrientationSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6872,7 +6872,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcValue, public IfcMeasureValue, public IfcHatchLineDistanceSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6886,7 +6886,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6899,7 +6899,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6916,7 +6916,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6929,7 +6929,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6942,7 +6942,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6960,7 +6960,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcMeasureValue, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6975,7 +6975,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -6988,7 +6988,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7002,7 +7002,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7015,7 +7015,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7024,7 +7024,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSecondInMinute : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSecondInMinute : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7037,7 +7037,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7050,7 +7050,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7063,7 +7063,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7078,7 +7078,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7091,7 +7091,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7104,7 +7104,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7117,7 +7117,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7132,7 +7132,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7149,7 +7149,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7162,7 +7162,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7181,7 +7181,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7199,7 +7199,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7220,7 +7220,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7247,7 +7247,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7265,7 +7265,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7278,7 +7278,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7291,7 +7291,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7303,7 +7303,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7315,7 +7315,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7328,7 +7328,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7343,7 +7343,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7358,7 +7358,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7370,7 +7370,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7383,7 +7383,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7396,7 +7396,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7411,7 +7411,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7424,7 +7424,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7437,7 +7437,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7450,7 +7450,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7459,7 +7459,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7492,7 +7492,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7505,7 +7505,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcValue, public IfcMeasureValue, public IfcColourOrFactor, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7519,7 +7519,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcValue, public IfcMeasureValue, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7539,7 +7539,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. @@ -7565,7 +7565,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Purpose() const; @@ -7590,7 +7590,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc2x3::IfcOrganization* ApplicationDeveloper() const; @@ -7624,7 +7624,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -7685,7 +7685,7 @@ public: /// Figure 240 illustrates two level aggregation of applied values. It is possible to develop more complex applied value specifications by creating hierarchies of applied value relationships. In the diagram, the development of a applied value is shown whereby, because B = E * F and D = G * H * J, then: A = ((E * F) + C + (G * H * J)). /// /// Figure 240 — Applied value relationship multiple level -class IFC_PARSE_API IfcAppliedValueRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValueRelationship : public IfcUtil::IfcBaseEntity { public: /// The applied value (total or subtotal) of which the value being considered is a component. ::Ifc2x3::IfcAppliedValue* ComponentOfTotal() const; @@ -7711,7 +7711,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { public: /// A general textual description of a design, work task, plan, etc. that is being approved for. boost::optional< std::string > Description() const; @@ -7740,7 +7740,7 @@ public: typedef aggregate_of< IfcApproval > list; }; -class IFC_PARSE_API IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcActorSelect* Actor() const; void setActor(::Ifc2x3::IfcActorSelect* v); @@ -7755,7 +7755,7 @@ public: typedef aggregate_of< IfcApprovalActorRelationship > list; }; -class IFC_PARSE_API IfcApprovalPropertyRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApprovalPropertyRelationship : public IfcUtil::IfcBaseEntity { public: aggregate_of< ::Ifc2x3::IfcProperty >::ptr ApprovedProperties() const; void setApprovedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v); @@ -7774,7 +7774,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApprovalRelationship : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcApproval* RelatedApproval() const; void setRelatedApproval(::Ifc2x3::IfcApproval* v); @@ -7806,7 +7806,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -7827,7 +7827,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: boost::optional< double > LinearStiffnessByLengthX() const; void setLinearStiffnessByLengthX(boost::optional< double > v); @@ -7860,7 +7860,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: boost::optional< double > LinearStiffnessByAreaX() const; void setLinearStiffnessByAreaX(boost::optional< double > v); @@ -7884,7 +7884,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: boost::optional< double > LinearStiffnessX() const; void setLinearStiffnessX(boost::optional< double > v); @@ -7916,7 +7916,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. boost::optional< double > WarpingStiffness() const; @@ -7928,7 +7928,7 @@ public: typedef aggregate_of< IfcBoundaryNodeConditionWarping > list; }; -class IFC_PARSE_API IfcCalendarDate : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCalendarDate : public IfcUtil::IfcBaseEntity, public IfcDateTimeSelect, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: int DayComponent() const; void setDayComponent(int v); @@ -7957,7 +7957,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassification : public IfcUtil::IfcBaseEntity { public: /// Source (or publisher) for this classification. /// @@ -7991,7 +7991,7 @@ public: typedef aggregate_of< IfcClassification > list; }; -class IFC_PARSE_API IfcClassificationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationItem : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcClassificationNotationFacet* Notation() const; void setNotation(::Ifc2x3::IfcClassificationNotationFacet* v); @@ -8008,7 +8008,7 @@ public: typedef aggregate_of< IfcClassificationItem > list; }; -class IFC_PARSE_API IfcClassificationItemRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationItemRelationship : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcClassificationItem* RelatingItem() const; void setRelatingItem(::Ifc2x3::IfcClassificationItem* v); @@ -8021,7 +8021,7 @@ public: typedef aggregate_of< IfcClassificationItemRelationship > list; }; -class IFC_PARSE_API IfcClassificationNotation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationNotation : public IfcUtil::IfcBaseEntity, public IfcClassificationNotationSelect { public: aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr NotationFacets() const; void setNotationFacets(aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr v); @@ -8032,7 +8032,7 @@ public: typedef aggregate_of< IfcClassificationNotation > list; }; -class IFC_PARSE_API IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { public: std::string NotationValue() const; void setNotationValue(std::string v); @@ -8047,7 +8047,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcColourSpecification : public IfcUtil::IfcBaseEntity, public IfcFillStyleSelect, public IfcColour, public IfcSymbolStyleSelect { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -8075,7 +8075,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -8099,7 +8099,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc2x3::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -8114,7 +8114,7 @@ public: typedef aggregate_of< IfcConnectionPointGeometry > list; }; -class IFC_PARSE_API IfcConnectionPortGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPortGeometry : public IfcConnectionGeometry { public: ::Ifc2x3::IfcAxis2Placement* LocationAtRelatingElement() const; void setLocationAtRelatingElement(::Ifc2x3::IfcAxis2Placement* v); @@ -8136,7 +8136,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc2x3::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -8162,7 +8162,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -8211,7 +8211,7 @@ public: /// Figure 237 illustrates constraint aggregation. /// /// Figure 237 — Constraint aggregation -class IFC_PARSE_API IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -8231,7 +8231,7 @@ public: typedef aggregate_of< IfcConstraintAggregationRelationship > list; }; -class IFC_PARSE_API IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcConstraint* ClassifiedConstraint() const; void setClassifiedConstraint(::Ifc2x3::IfcConstraint* v); @@ -8252,7 +8252,7 @@ public: /// HISTORY  New entity in Release IFC2x2 (Addendum 1). /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship. -class IFC_PARSE_API IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -8271,7 +8271,7 @@ public: typedef aggregate_of< IfcConstraintRelationship > list; }; -class IFC_PARSE_API IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { public: int HourOffset() const; void setHourOffset(int v); @@ -8327,7 +8327,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue, public IfcMetricValueSelect { public: /// Specification of the type of cost type used. /// @@ -8356,7 +8356,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc2x3::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -8386,7 +8386,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurveStyleFont : public IfcUtil::IfcBaseEntity, public IfcCurveStyleFontSelect, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -8411,7 +8411,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcUtil::IfcBaseEntity, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -8433,7 +8433,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcUtil::IfcBaseEntity { public: /// The length of the visible segment in the pattern definition. /// @@ -8452,7 +8452,7 @@ public: typedef aggregate_of< IfcCurveStyleFontPattern > list; }; -class IFC_PARSE_API IfcDateAndTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDateAndTime : public IfcUtil::IfcBaseEntity, public IfcDateTimeSelect, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: ::Ifc2x3::IfcCalendarDate* DateComponent() const; void setDateComponent(::Ifc2x3::IfcCalendarDate* v); @@ -8471,7 +8471,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr Elements() const; @@ -8496,7 +8496,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc2x3::IfcNamedUnit* Unit() const; @@ -8527,7 +8527,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -8559,7 +8559,7 @@ public: /// IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation. /// /// HISTORY: New entity in IFC 2x -class IFC_PARSE_API IfcDocumentElectronicFormat : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDocumentElectronicFormat : public IfcUtil::IfcBaseEntity { public: /// File extension of electronic document used by computer operating system. boost::optional< std::string > FileExtension() const; @@ -8579,7 +8579,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDocumentInformation : public IfcUtil::IfcBaseEntity, public IfcDocumentSelect { public: /// Identifier that uniquely identifies a document. std::string DocumentId() const; @@ -8659,7 +8659,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcUtil::IfcBaseEntity { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc2x3::IfcDocumentInformation* RelatingDocument() const; @@ -8677,7 +8677,7 @@ public: typedef aggregate_of< IfcDocumentInformationRelationship > list; }; -class IFC_PARSE_API IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -8694,7 +8694,7 @@ public: typedef aggregate_of< IfcDraughtingCalloutRelationship > list; }; -class IFC_PARSE_API IfcEnvironmentalImpactValue : public IfcAppliedValue { +class IFC_PARSE_API IfcEnvironmentalImpactValue : public IfcAppliedValue { public: std::string ImpactType() const; void setImpactType(std::string v); @@ -8717,7 +8717,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect, public IfcObjectReferenceSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -8743,7 +8743,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -8758,7 +8758,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -8775,7 +8775,7 @@ public: /// NOTE Corresponding ISO 10303 name: externally_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedSymbol : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSymbol : public IfcExternalReference, public IfcDefinedSymbolSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -8790,7 +8790,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -8821,7 +8821,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -8845,7 +8845,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. ::Ifc2x3::IfcDateTimeSelect* TimeStamp() const; @@ -8867,7 +8867,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLibraryInformation : public IfcUtil::IfcBaseEntity, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -8898,7 +8898,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: aggregate_of< IfcLibraryInformation >::ptr ReferenceIntoLibrary() const; // INVERSE IfcLibraryInformation::LibraryReference virtual const IfcParse::entity& declaration() const; @@ -8922,7 +8922,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -8944,7 +8944,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc2x3::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -8959,7 +8959,7 @@ public: typedef aggregate_of< IfcLightIntensityDistribution > list; }; -class IFC_PARSE_API IfcLocalTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLocalTime : public IfcUtil::IfcBaseEntity, public IfcDateTimeSelect, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: int HourComponent() const; void setHourComponent(int v); @@ -9004,7 +9004,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterial : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMaterialSelect { public: /// Name of the material. /// @@ -9026,7 +9026,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -9063,7 +9063,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialLayer : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMaterialSelect { public: /// 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. ::Ifc2x3::IfcMaterial* Material() const; @@ -9122,7 +9122,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -9236,7 +9236,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc2x3::IfcMaterialLayerSet* ForLayerSet() const; @@ -9278,7 +9278,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc2x3::IfcMaterial >::ptr Materials() const; @@ -9311,7 +9311,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialProperties : public IfcUtil::IfcBaseEntity { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -9334,7 +9334,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcConditionCriterionSelect, public IfcMetricValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc2x3::IfcValue* ValueComponent() const; @@ -9349,7 +9349,7 @@ public: typedef aggregate_of< IfcMeasureWithUnit > list; }; -class IFC_PARSE_API IfcMechanicalMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: boost::optional< double > DynamicViscosity() const; void setDynamicViscosity(boost::optional< double > v); @@ -9368,7 +9368,7 @@ public: typedef aggregate_of< IfcMechanicalMaterialProperties > list; }; -class IFC_PARSE_API IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { +class IFC_PARSE_API IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { public: boost::optional< double > YieldStress() const; void setYieldStress(boost::optional< double > v); @@ -9442,7 +9442,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc2x3::IfcBenchmarkEnum::Value Benchmark() const; @@ -9464,7 +9464,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { 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. ::Ifc2x3::IfcCurrencyEnum::Value Currency() const; @@ -9480,7 +9480,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc2x3::IfcDimensionalExponents* Dimensions() const; @@ -9505,7 +9505,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: aggregate_of< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement aggregate_of< IfcLocalPlacement >::ptr ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo @@ -9524,7 +9524,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. ::Ifc2x3::IfcMetric* BenchmarkValues() const; @@ -9545,7 +9545,7 @@ public: typedef aggregate_of< IfcObjective > list; }; -class IFC_PARSE_API IfcOpticalMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcOpticalMaterialProperties : public IfcMaterialProperties { public: boost::optional< double > VisibleTransmittance() const; void setVisibleTransmittance(boost::optional< double > v); @@ -9579,7 +9579,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcActorSelect, public IfcObjectReferenceSelect { public: boost::optional< std::string > Id() const; void setId(boost::optional< std::string > v); @@ -9611,7 +9611,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the relationship is referred to. std::string Name() const; @@ -9641,7 +9641,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc2x3::IfcPersonAndOrganization* OwningUser() const; @@ -9682,7 +9682,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcActorSelect, public IfcObjectReferenceSelect { public: boost::optional< std::string > Id() const; void setId(boost::optional< std::string > v); @@ -9725,7 +9725,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// The person who is related to the organization. ::Ifc2x3::IfcPerson* ThePerson() const; @@ -9747,7 +9747,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -9771,7 +9771,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc2x3::IfcNamedUnit* Unit() const; @@ -9785,7 +9785,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -9827,7 +9827,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -9845,7 +9845,7 @@ public: /// NOTE Corresponding ISO 10303 name: pre_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedSymbol : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedSymbol : public IfcPreDefinedItem, public IfcDefinedSymbolSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -9854,7 +9854,7 @@ public: typedef aggregate_of< IfcPreDefinedSymbol > list; }; -class IFC_PARSE_API IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { +class IFC_PARSE_API IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -9873,7 +9873,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -9896,7 +9896,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -9929,7 +9929,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -9958,7 +9958,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -9974,7 +9974,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. aggregate_of_instance::ptr Styles() const; @@ -10002,7 +10002,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -10020,7 +10020,7 @@ public: typedef aggregate_of< IfcProductRepresentation > list; }; -class IFC_PARSE_API IfcProductsOfCombustionProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: boost::optional< double > SpecificHeatCapacity() const; void setSpecificHeatCapacity(boost::optional< double > v); @@ -10206,7 +10206,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc2x3::IfcProfileTypeEnum::Value ProfileType() const; @@ -10231,7 +10231,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileProperties : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > ProfileName() const; void setProfileName(boost::optional< std::string > v); @@ -10247,7 +10247,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProperty : public IfcUtil::IfcBaseEntity { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -10265,7 +10265,7 @@ public: typedef aggregate_of< IfcProperty > list; }; -class IFC_PARSE_API IfcPropertyConstraintRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyConstraintRelationship : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc2x3::IfcConstraint* v); @@ -10289,7 +10289,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcUtil::IfcBaseEntity { public: /// The property on which the relationship depends. ::Ifc2x3::IfcProperty* DependingProperty() const; @@ -10356,7 +10356,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { public: /// Name of this enumeration. std::string Name() const; @@ -10378,7 +10378,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -10394,7 +10394,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -10410,7 +10410,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -10426,7 +10426,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -10442,7 +10442,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -10458,7 +10458,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -10470,7 +10470,7 @@ public: typedef aggregate_of< IfcQuantityWeight > list; }; -class IFC_PARSE_API IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcDocumentSelect* ReferencedDocument() const; void setReferencedDocument(::Ifc2x3::IfcDocumentSelect* v); @@ -10491,7 +10491,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -10518,7 +10518,7 @@ public: typedef aggregate_of< IfcReinforcementBarProperties > list; }; -class IFC_PARSE_API IfcRelaxation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRelaxation : public IfcUtil::IfcBaseEntity { public: double RelaxationValue() const; void setRelaxationValue(double v); @@ -10576,7 +10576,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc2x3::IfcRepresentationContext* ContextOfItems() const; @@ -10610,7 +10610,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -10657,7 +10657,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -10678,7 +10678,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -10695,7 +10695,7 @@ public: typedef aggregate_of< IfcRepresentationMap > list; }; -class IFC_PARSE_API IfcRibPlateProfileProperties : public IfcProfileProperties { +class IFC_PARSE_API IfcRibPlateProfileProperties : public IfcProfileProperties { public: boost::optional< double > Thickness() const; void setThickness(boost::optional< double > v); @@ -10722,7 +10722,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -10753,7 +10753,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc2x3::IfcSIPrefix::Value > Prefix() const; @@ -10774,7 +10774,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSectionProperties : public IfcUtil::IfcBaseEntity { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc2x3::IfcSectionTypeEnum::Value SectionType() const; @@ -10798,7 +10798,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -10861,7 +10861,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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 @@ -10906,7 +10906,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -11050,7 +11050,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11061,7 +11061,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11072,7 +11072,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -11086,7 +11086,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -11100,7 +11100,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11113,7 +11113,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: boost::optional< double > DeltaT_Constant() const; void setDeltaT_Constant(boost::optional< double > v); @@ -11132,7 +11132,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11168,7 +11168,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -11199,7 +11199,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11214,7 +11214,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// An indication of which side of the surface to apply the style. ::Ifc2x3::IfcSurfaceSide::Value Side() const; @@ -11239,7 +11239,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcUtil::IfcBaseEntity, public IfcSurfaceStyleElementSelect { 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. @@ -11268,7 +11268,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcUtil::IfcBaseEntity, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -11289,7 +11289,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcUtil::IfcBaseEntity, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc2x3::IfcColourRgb* SurfaceColour() const; @@ -11318,7 +11318,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcUtil::IfcBaseEntity, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc2x3::IfcSurfaceTexture >::ptr Textures() const; @@ -11421,7 +11421,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceTexture : public IfcUtil::IfcBaseEntity { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -11447,7 +11447,7 @@ public: /// NOTE: Corresponding ISO 10303 name: symbol_style. Please refer to ISO/IS 10303-46:1994, p. 124 for the final definition of the formal standard. /// /// HISTORY: New entity in Release IFC2x2. -class IFC_PARSE_API IfcSymbolStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSymbolStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The style applied to the symbol for its visual appearance. ::Ifc2x3::IfcSymbolStyleSelect* StyleOfSymbol() const; @@ -11473,7 +11473,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect { public: /// A unique name which is intended to describe the usage of the Table. std::string Name() const; @@ -11500,7 +11500,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. aggregate_of_instance::ptr RowCells() const; @@ -11521,7 +11521,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -11575,7 +11575,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// A character style to be used for presented text. ::Ifc2x3::IfcCharacterStyleSelect* TextCharacterAppearance() const; @@ -11663,7 +11663,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API 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. boost::optional< std::vector< std::string > /*[1:?]*/ > FontFamily() const; @@ -11706,7 +11706,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcUtil::IfcBaseEntity, public IfcCharacterStyleSelect { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc2x3::IfcColour* Colour() const; @@ -11727,7 +11727,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcUtil::IfcBaseEntity, public IfcTextStyleSelect { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -11780,7 +11780,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attribute item CharacterSpacing has been added. -class IFC_PARSE_API IfcTextStyleWithBoxCharacteristics : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextStyleWithBoxCharacteristics : public IfcUtil::IfcBaseEntity, public IfcTextStyleSelect { public: /// It is the height scaling factor in the definition of a character glyph. boost::optional< double > BoxHeight() const; @@ -11814,7 +11814,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextureCoordinate : public IfcUtil::IfcBaseEntity { public: aggregate_of< IfcAnnotationSurface >::ptr AnnotatedSurface() const; // INVERSE IfcAnnotationSurface::TextureCoordinates virtual const IfcParse::entity& declaration() const; @@ -11849,7 +11849,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -11918,7 +11918,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr TextureMaps() const; void setTextureMaps(aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr v); @@ -11955,7 +11955,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextureVertex : public IfcUtil::IfcBaseEntity { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -11967,7 +11967,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcThermalMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcThermalMaterialProperties : public IfcMaterialProperties { public: boost::optional< double > SpecificHeatCapacity() const; void setSpecificHeatCapacity(boost::optional< double > v); @@ -11988,7 +11988,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: /// An unique name for the time series. std::string Name() const; @@ -12022,7 +12022,7 @@ public: typedef aggregate_of< IfcTimeSeries > list; }; -class IFC_PARSE_API IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { public: ::Ifc2x3::IfcTimeSeries* ReferencedTimeSeries() const; void setReferencedTimeSeries(::Ifc2x3::IfcTimeSeries* v); @@ -12043,7 +12043,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -12059,7 +12059,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12101,7 +12101,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12114,7 +12114,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -12135,7 +12135,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12144,7 +12144,7 @@ public: typedef aggregate_of< IfcVertex > list; }; -class IFC_PARSE_API IfcVertexBasedTextureMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVertexBasedTextureMap : public IfcUtil::IfcBaseEntity { public: aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr TextureVertices() const; void setTextureVertices(aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr v); @@ -12165,7 +12165,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc2x3::IfcPoint* VertexGeometry() const; @@ -12235,7 +12235,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr IntersectingAxes() const; @@ -12250,7 +12250,7 @@ public: typedef aggregate_of< IfcVirtualGridIntersection > list; }; -class IFC_PARSE_API IfcWaterProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcWaterProperties : public IfcMaterialProperties { public: boost::optional< bool > IsPotable() const; void setIsPotable(boost::optional< bool > v); @@ -12273,7 +12273,7 @@ public: typedef aggregate_of< IfcWaterProperties > list; }; -class IFC_PARSE_API IfcAnnotationOccurrence : public IfcStyledItem { +class IFC_PARSE_API IfcAnnotationOccurrence : public IfcStyledItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12282,7 +12282,7 @@ public: typedef aggregate_of< IfcAnnotationOccurrence > list; }; -class IFC_PARSE_API IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12291,7 +12291,7 @@ public: typedef aggregate_of< IfcAnnotationSurfaceOccurrence > list; }; -class IFC_PARSE_API IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence, public IfcDraughtingCalloutElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12300,7 +12300,7 @@ public: typedef aggregate_of< IfcAnnotationSymbolOccurrence > list; }; -class IFC_PARSE_API IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence, public IfcDraughtingCalloutElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12326,7 +12326,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc2x3::IfcCurve* OuterCurve() const; @@ -12352,7 +12352,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc2x3::IfcBoundedCurve* Curve() const; @@ -12382,7 +12382,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc2x3::IfcCurve >::ptr InnerCurves() const; @@ -12402,7 +12402,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -12445,7 +12445,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -12477,7 +12477,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationNotationSelect { public: /// The classification system or source that is referenced. ::Ifc2x3::IfcClassification* ReferencedSource() const; @@ -12496,7 +12496,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -12524,7 +12524,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -12575,7 +12575,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Profiles() const; @@ -12598,7 +12598,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc2x3::IfcFace >::ptr CfsFaces() const; @@ -12622,7 +12622,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc2x3::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -12655,7 +12655,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -12679,7 +12679,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -12737,7 +12737,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -12768,7 +12768,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// 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. ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -12869,7 +12869,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc2x3::IfcProfileDef* ParentProfile() const; @@ -12887,7 +12887,7 @@ public: typedef aggregate_of< IfcDerivedProfileDef > list; }; -class IFC_PARSE_API IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { +class IFC_PARSE_API IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12896,7 +12896,7 @@ public: typedef aggregate_of< IfcDimensionCalloutRelationship > list; }; -class IFC_PARSE_API IfcDimensionPair : public IfcDraughtingCalloutRelationship { +class IFC_PARSE_API IfcDimensionPair : public IfcDraughtingCalloutRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12915,7 +12915,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: aggregate_of< IfcDocumentInformation >::ptr ReferenceToDocument() const; // INVERSE IfcDocumentInformation::DocumentReferences virtual const IfcParse::entity& declaration() const; @@ -12934,7 +12934,7 @@ public: /// NOTE  The IfcDraughtingPreDefinedTextFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. Corresponding ISO 10303 name: draughting_pre_defined_text_font. Please refer to ISO/IS 10303-202:1994 page 196 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedTextFont : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcDraughtingPreDefinedTextFont : public IfcPreDefinedTextFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12991,7 +12991,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc2x3::IfcVertex* EdgeStart() const; @@ -13038,7 +13038,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc2x3::IfcCurve* EdgeGeometry() const; @@ -13087,7 +13087,7 @@ public: /// General Fuel Properties /// General Products of Combustion Properties /// General Energy Calculation Properties -class IFC_PARSE_API IfcExtendedMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcExtendedMaterialProperties : public IfcMaterialProperties { public: aggregate_of< ::Ifc2x3::IfcProperty >::ptr ExtendedProperties() const; void setExtendedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v); @@ -13145,7 +13145,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr Bounds() const; @@ -13161,7 +13161,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc2x3::IfcLoop* Bound() const; @@ -13180,7 +13180,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13224,7 +13224,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc2x3::IfcSurface* FaceSurface() const; @@ -13245,7 +13245,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -13305,7 +13305,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -13317,7 +13317,7 @@ public: typedef aggregate_of< IfcFillAreaStyle > list; }; -class IFC_PARSE_API IfcFuelProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcFuelProperties : public IfcMaterialProperties { public: boost::optional< double > CombustionTemperature() const; void setCombustionTemperature(boost::optional< double > v); @@ -13334,7 +13334,7 @@ public: typedef aggregate_of< IfcFuelProperties > list; }; -class IFC_PARSE_API IfcGeneralMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcGeneralMaterialProperties : public IfcMaterialProperties { public: boost::optional< double > MolecularWeight() const; void setMolecularWeight(boost::optional< double > v); @@ -13349,7 +13349,7 @@ public: typedef aggregate_of< IfcGeneralMaterialProperties > list; }; -class IFC_PARSE_API IfcGeneralProfileProperties : public IfcProfileProperties { +class IFC_PARSE_API IfcGeneralProfileProperties : public IfcProfileProperties { public: boost::optional< double > PhysicalWeight() const; void setPhysicalWeight(boost::optional< double > v); @@ -13414,7 +13414,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -13456,7 +13456,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13477,7 +13477,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc2x3::IfcGeometricRepresentationContext* ParentContext() const; @@ -13514,7 +13514,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -13570,7 +13570,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc2x3::IfcVirtualGridIntersection* PlacementLocation() const; @@ -13601,7 +13601,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc2x3::IfcSurface* BaseSurface() const; @@ -13616,7 +13616,7 @@ public: typedef aggregate_of< IfcHalfSpaceSolid > list; }; -class IFC_PARSE_API IfcHygroscopicMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: boost::optional< double > UpperVaporResistanceFactor() const; void setUpperVaporResistanceFactor(boost::optional< double > v); @@ -13669,7 +13669,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string UrlReference() const; @@ -13685,7 +13685,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -13703,7 +13703,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -13731,7 +13731,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13748,7 +13748,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -13767,7 +13767,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc2x3::IfcAxis2Placement3D* Position() const; @@ -13808,7 +13808,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -13848,7 +13848,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -13923,7 +13923,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc2x3::IfcObjectPlacement* PlacementRelTo() const; @@ -13963,7 +13963,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13990,7 +13990,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc2x3::IfcRepresentationMap* MappingSource() const; @@ -14034,7 +14034,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc2x3::IfcMaterial* RepresentedMaterial() const; @@ -14046,7 +14046,7 @@ public: typedef aggregate_of< IfcMaterialDefinitionRepresentation > list; }; -class IFC_PARSE_API IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { +class IFC_PARSE_API IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { public: boost::optional< double > CompressiveStrength() const; void setCompressiveStrength(boost::optional< double > v); @@ -14116,7 +14116,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelDecomposes >::ptr IsDecomposedBy() const; // INVERSE IfcRelDecomposes::RelatingObject @@ -14135,7 +14135,7 @@ public: /// NOTE: Corresponding ISO 10303 name: one_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994, p. 112 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem, public IfcHatchLineDistanceSelect { public: /// A vector which specifies the relative positioning of hatch lines. ::Ifc2x3::IfcVector* RepeatFactor() const; @@ -14205,7 +14205,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14220,7 +14220,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc2x3::IfcEdge* EdgeElement() const; @@ -14276,7 +14276,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc2x3::IfcAxis2Placement2D* Position() const; @@ -14301,7 +14301,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr EdgeList() const; @@ -14321,7 +14321,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -14359,7 +14359,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -14390,7 +14390,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc2x3::IfcCartesianPoint* Location() const; @@ -14406,7 +14406,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -14425,7 +14425,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect, public IfcPointOrVertexPoint { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14442,7 +14442,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc2x3::IfcCurve* BasisCurve() const; @@ -14465,7 +14465,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc2x3::IfcSurface* BasisSurface() const; @@ -14521,7 +14521,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Polygon() const; @@ -14588,7 +14588,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc2x3::IfcAxis2Placement3D* Position() const; @@ -14609,7 +14609,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcFillStyleSelect, public IfcColour, public IfcSymbolStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14624,7 +14624,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveStyleFontSelect, public IfcCurveFontOrScaledCurveFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14633,7 +14633,7 @@ public: typedef aggregate_of< IfcPreDefinedCurveFont > list; }; -class IFC_PARSE_API IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { +class IFC_PARSE_API IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14642,7 +14642,7 @@ public: typedef aggregate_of< IfcPreDefinedDimensionSymbol > list; }; -class IFC_PARSE_API IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { +class IFC_PARSE_API IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14662,7 +14662,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -14776,7 +14776,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc2x3::IfcValue* UpperBoundValue() const; @@ -14843,7 +14843,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects virtual const IfcParse::entity& declaration() const; @@ -14929,7 +14929,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -15010,7 +15010,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -15041,7 +15041,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -15099,7 +15099,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: aggregate_of< IfcRelDefinesByProperties >::ptr PropertyDefinitionOf() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets @@ -15153,7 +15153,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -15287,7 +15287,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -15348,7 +15348,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -15367,7 +15367,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -15407,7 +15407,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -15429,7 +15429,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15474,7 +15474,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -15538,7 +15538,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc2x3::IfcCompositeCurve* SpineCurve() const; @@ -15556,7 +15556,7 @@ public: typedef aggregate_of< IfcSectionedSpine > list; }; -class IFC_PARSE_API IfcServiceLifeFactor : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcServiceLifeFactor : public IfcPropertySetDefinition { public: ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v); @@ -15584,7 +15584,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -15603,7 +15603,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -15625,7 +15625,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15634,7 +15634,7 @@ public: typedef aggregate_of< IfcSolidModel > list; }; -class IFC_PARSE_API IfcSoundProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcSoundProperties : public IfcPropertySetDefinition { public: bool IsAttenuating() const; void setIsAttenuating(bool v); @@ -15649,7 +15649,7 @@ public: typedef aggregate_of< IfcSoundProperties > list; }; -class IFC_PARSE_API IfcSoundValue : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcSoundValue : public IfcPropertySetDefinition { public: ::Ifc2x3::IfcTimeSeries* SoundLevelTimeSeries() const; void setSoundLevelTimeSeries(::Ifc2x3::IfcTimeSeries* v); @@ -15664,7 +15664,7 @@ public: typedef aggregate_of< IfcSoundValue > list; }; -class IFC_PARSE_API IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: boost::optional< double > ApplicableValueRatio() const; void setApplicableValueRatio(boost::optional< double > v); @@ -15697,7 +15697,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -15728,7 +15728,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -15750,7 +15750,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -15779,7 +15779,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -15796,7 +15796,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -15830,7 +15830,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -15842,7 +15842,7 @@ public: typedef aggregate_of< IfcStructuralLoadSingleForceWarping > list; }; -class IFC_PARSE_API IfcStructuralProfileProperties : public IfcGeneralProfileProperties { +class IFC_PARSE_API IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: boost::optional< double > TorsionalConstantX() const; void setTorsionalConstantX(boost::optional< double > v); @@ -15883,7 +15883,7 @@ public: typedef aggregate_of< IfcStructuralProfileProperties > list; }; -class IFC_PARSE_API IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { +class IFC_PARSE_API IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { public: boost::optional< double > ShearAreaZ() const; void setShearAreaZ(boost::optional< double > v); @@ -15909,7 +15909,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc2x3::IfcEdge* ParentEdge() const; @@ -15930,7 +15930,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect, public IfcSurfaceOrFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15983,7 +15983,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -16044,7 +16044,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc2x3::IfcProfileDef* SweptArea() const; @@ -16111,7 +16111,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc2x3::IfcCurve* Directrix() const; @@ -16143,7 +16143,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc2x3::IfcProfileDef* SweptCurve() const; @@ -16185,7 +16185,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -16223,7 +16223,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { +class IFC_PARSE_API IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { public: ::Ifc2x3::IfcAnnotationCurveOccurrence* AnnotatedCurve() const; void setAnnotatedCurve(::Ifc2x3::IfcAnnotationCurveOccurrence* v); @@ -16243,7 +16243,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -16270,7 +16270,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc2x3::IfcPlanarExtent* Extent() const; @@ -16322,7 +16322,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -16350,7 +16350,7 @@ public: /// NOTE Corresponding ISO 10303 name: two_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { +class IFC_PARSE_API IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { public: /// A vector which specifies the relative positioning of tiles in the second direction. ::Ifc2x3::IfcVector* SecondRepeatFactor() const; @@ -16392,7 +16392,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -16481,7 +16481,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: /// 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. boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -16523,7 +16523,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -16561,7 +16561,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcVectorOrDirection { public: /// The direction of the vector. ::Ifc2x3::IfcDirection* Orientation() const; @@ -16587,7 +16587,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc2x3::IfcVertex* LoopVertex() const; @@ -16696,7 +16696,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPropertySetDefinition { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -16778,7 +16778,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPropertySetDefinition { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc2x3::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -16821,7 +16821,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc2x3::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -16866,7 +16866,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -16893,7 +16893,7 @@ public: typedef aggregate_of< IfcZShapeProfileDef > list; }; -class IFC_PARSE_API IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence, public IfcDraughtingCalloutElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16921,7 +16921,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -16940,7 +16940,7 @@ public: typedef aggregate_of< IfcAnnotationFillArea > list; }; -class IFC_PARSE_API IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { public: ::Ifc2x3::IfcPoint* FillStyleTarget() const; void setFillStyleTarget(::Ifc2x3::IfcPoint* v); @@ -16953,7 +16953,7 @@ public: typedef aggregate_of< IfcAnnotationFillAreaOccurrence > list; }; -class IFC_PARSE_API IfcAnnotationSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationSurface : public IfcGeometricRepresentationItem { public: ::Ifc2x3::IfcGeometricRepresentationItem* Item() const; void setItem(::Ifc2x3::IfcGeometricRepresentationItem* v); @@ -16974,7 +16974,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc2x3::IfcDirection* Axis() const; @@ -16996,7 +16996,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc2x3::IfcDirection* RefDirection() const; @@ -17020,7 +17020,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc2x3::IfcDirection* Axis() const; @@ -17060,7 +17060,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The Boolean operator used in the operation to create the result. ::Ifc2x3::IfcBooleanOperator::Value Operator() const; @@ -17089,7 +17089,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17119,7 +17119,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc2x3::IfcCartesianPoint* Corner() const; @@ -17169,7 +17169,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc2x3::IfcBoundingBox* Enclosure() const; @@ -17202,7 +17202,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -17234,7 +17234,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -17275,7 +17275,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc2x3::IfcDirection* Axis1() const; @@ -17300,7 +17300,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17318,7 +17318,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -17334,7 +17334,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc2x3::IfcDirection* Axis3() const; @@ -17356,7 +17356,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -17382,7 +17382,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -17442,7 +17442,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17457,7 +17457,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc2x3::IfcTransitionCode::Value Transition() const; @@ -17478,7 +17478,7 @@ public: typedef aggregate_of< IfcCompositeCurveSegment > list; }; -class IFC_PARSE_API IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: double OverallHeight() const; void setOverallHeight(double v); @@ -17511,7 +17511,7 @@ public: typedef aggregate_of< IfcCraneRailAShapeProfileDef > list; }; -class IFC_PARSE_API IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: double OverallHeight() const; void setOverallHeight(double v); @@ -17542,7 +17542,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc2x3::IfcAxis2Placement3D* Position() const; @@ -17594,7 +17594,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc2x3::IfcCsgSelect* TreeRootExpression() const; @@ -17615,7 +17615,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17636,7 +17636,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc2x3::IfcPlane* BasisSurface() const; @@ -17660,7 +17660,7 @@ public: /// NOTE Corresponding ISO 10303 name: defined_symbol. The target attribute used the 2d Cartesian transformation operator, including the non-uniform subtype, which is available in IFC (instead of the symbol_target). Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcDefinedSymbol : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDefinedSymbol : public IfcGeometricRepresentationItem { public: /// An implicit description of the symbol, either predefined or externally defined. ::Ifc2x3::IfcDefinedSymbolSelect* Definition() const; @@ -17675,7 +17675,7 @@ public: typedef aggregate_of< IfcDefinedSymbol > list; }; -class IFC_PARSE_API IfcDimensionCurve : public IfcAnnotationCurveOccurrence { +class IFC_PARSE_API IfcDimensionCurve : public IfcAnnotationCurveOccurrence { public: aggregate_of< IfcTerminatorSymbol >::ptr AnnotatedBySymbols() const; // INVERSE IfcTerminatorSymbol::AnnotatedCurve virtual const IfcParse::entity& declaration() const; @@ -17685,7 +17685,7 @@ public: typedef aggregate_of< IfcDimensionCurve > list; }; -class IFC_PARSE_API IfcDimensionCurveTerminator : public IfcTerminatorSymbol { +class IFC_PARSE_API IfcDimensionCurveTerminator : public IfcTerminatorSymbol { public: ::Ifc2x3::IfcDimensionExtentUsage::Value Role() const; void setRole(::Ifc2x3::IfcDimensionExtentUsage::Value v); @@ -17702,7 +17702,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcOrientationSelect, public IfcVectorOrDirection { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -17808,7 +17808,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPropertySetDefinition { public: /// 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). boost::optional< double > LiningDepth() const; @@ -17896,7 +17896,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPropertySetDefinition { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -17947,7 +17947,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc2x3::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -17968,7 +17968,7 @@ public: typedef aggregate_of< IfcDoorStyle > list; }; -class IFC_PARSE_API IfcDraughtingCallout : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr Contents() const; void setContents(aggregate_of_instance::ptr v); @@ -18052,7 +18052,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18073,7 +18073,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18092,7 +18092,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr EdgeList() const; @@ -18180,7 +18180,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcElementQuantity : public IfcPropertySetDefinition { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -18218,7 +18218,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -18234,7 +18234,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc2x3::IfcAxis2Placement3D* Position() const; @@ -18261,7 +18261,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -18276,7 +18276,7 @@ public: typedef aggregate_of< IfcEllipseProfileDef > list; }; -class IFC_PARSE_API IfcEnergyProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcEnergyProperties : public IfcPropertySetDefinition { public: boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > EnergySequence() const; void setEnergySequence(boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v); @@ -18356,7 +18356,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc2x3::IfcDirection* ExtrudedDirection() const; @@ -18383,7 +18383,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -18441,7 +18441,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc2x3::IfcCurveStyle* HatchLineAppearance() const; @@ -18479,7 +18479,7 @@ public: /// NOTE: Corresponding ISO 10303 name: fill_area_style_tile_symbol_with_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTileSymbolWithStyle : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTileSymbolWithStyle : public IfcGeometricRepresentationItem, public IfcFillAreaStyleTileShapeSelect { public: /// A styled item that is used as the annotation symbol for tiling the filled area. /// @@ -18499,7 +18499,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. ::Ifc2x3::IfcOneDirectionRepeatFactor* TilingPattern() const; @@ -18517,7 +18517,7 @@ public: typedef aggregate_of< IfcFillAreaStyleTiles > list; }; -class IFC_PARSE_API IfcFluidFlowProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcFluidFlowProperties : public IfcPropertySetDefinition { public: ::Ifc2x3::IfcPropertySourceEnum::Value PropertySource() const; void setPropertySource(::Ifc2x3::IfcPropertySourceEnum::Value v); @@ -18583,7 +18583,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18628,7 +18628,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc2x3::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -18646,7 +18646,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18717,7 +18717,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -18791,7 +18791,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -18834,7 +18834,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc2x3::IfcCartesianPoint* Pnt() const; @@ -18911,7 +18911,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc2x3::IfcClosedShell* Outer() const; @@ -19004,7 +19004,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -19027,7 +19027,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. ::Ifc2x3::IfcCurve* BasisCurve() const; @@ -19059,7 +19059,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. ::Ifc2x3::IfcCurve* BasisCurve() const; @@ -19110,7 +19110,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPropertySetDefinition { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -19139,7 +19139,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -19187,7 +19187,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19235,7 +19235,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject { public: aggregate_of< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess aggregate_of< IfcRelSequence >::ptr IsSuccessorFrom() const; // INVERSE IfcRelSequence::RelatedProcess @@ -19337,7 +19337,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject { public: /// 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. ::Ifc2x3::IfcObjectPlacement* ObjectPlacement() const; @@ -19396,7 +19396,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcObject { +class IFC_PARSE_API IfcProject : public IfcObject { public: boost::optional< std::string > LongName() const; void setLongName(boost::optional< std::string > v); @@ -19413,7 +19413,7 @@ public: typedef aggregate_of< IfcProject > list; }; -class IFC_PARSE_API IfcProjectionCurve : public IfcAnnotationCurveOccurrence { +class IFC_PARSE_API IfcProjectionCurve : public IfcAnnotationCurveOccurrence { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19474,7 +19474,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc2x3::IfcProperty >::ptr HasProperties() const; @@ -19501,7 +19501,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc2x3::IfcObjectTypeEnum::Value ProxyType() const; @@ -19535,7 +19535,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -19640,7 +19640,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -19672,7 +19672,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc2x3::IfcSurface* BasisSurface() const; @@ -19712,7 +19712,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -19736,7 +19736,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc2x3::IfcActor* RelatingActor() const; @@ -19755,7 +19755,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc2x3::IfcControl* RelatingControl() const; @@ -19779,7 +19779,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc2x3::IfcGroup* RelatingGroup() const; @@ -19812,7 +19812,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -19836,7 +19836,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -19850,7 +19850,7 @@ public: typedef aggregate_of< IfcRelAssignsToProduct > list; }; -class IFC_PARSE_API IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { +class IFC_PARSE_API IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19864,7 +19864,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -19918,7 +19918,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -19932,7 +19932,7 @@ public: typedef aggregate_of< IfcRelAssociates > list; }; -class IFC_PARSE_API IfcRelAssociatesAppliedValue : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesAppliedValue : public IfcRelAssociates { public: ::Ifc2x3::IfcAppliedValue* RelatingAppliedValue() const; void setRelatingAppliedValue(::Ifc2x3::IfcAppliedValue* v); @@ -19945,7 +19945,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc2x3::IfcApproval* RelatingApproval() const; @@ -19986,7 +19986,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc2x3::IfcClassificationNotationSelect* RelatingClassification() const; @@ -20000,7 +20000,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::string Intent() const; @@ -20021,7 +20021,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc2x3::IfcDocumentSelect* RelatingDocument() const; @@ -20039,7 +20039,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc2x3::IfcLibrarySelect* RelatingLibrary() const; @@ -20144,7 +20144,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc2x3::IfcMaterialSelect* RelatingMaterial() const; @@ -20156,7 +20156,7 @@ public: typedef aggregate_of< IfcRelAssociatesMaterial > list; }; -class IFC_PARSE_API IfcRelAssociatesProfileProperties : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesProfileProperties : public IfcRelAssociates { public: ::Ifc2x3::IfcProfileProperties* RelatingProfileProperties() const; void setRelatingProfileProperties(::Ifc2x3::IfcProfileProperties* v); @@ -20173,7 +20173,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20203,7 +20203,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc2x3::IfcConnectionGeometry* ConnectionGeometry() const; @@ -20250,7 +20250,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -20295,7 +20295,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc2x3::IfcPort* RelatingPort() const; @@ -20324,7 +20324,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc2x3::IfcPort* RelatingPort() const; @@ -20344,7 +20344,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc2x3::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -20359,7 +20359,7 @@ public: typedef aggregate_of< IfcRelConnectsStructuralActivity > list; }; -class IFC_PARSE_API IfcRelConnectsStructuralElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralElement : public IfcRelConnects { public: ::Ifc2x3::IfcElement* RelatingElement() const; void setRelatingElement(::Ifc2x3::IfcElement* v); @@ -20395,7 +20395,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc2x3::IfcStructuralMember* RelatingStructuralMember() const; @@ -20438,7 +20438,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc2x3::IfcConnectionGeometry* ConnectionConstraint() const; @@ -20472,7 +20472,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc2x3::IfcElement >::ptr RealizingElements() const; @@ -20546,7 +20546,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -20578,7 +20578,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -20620,7 +20620,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: ::Ifc2x3::IfcSpace* RelatedSpace() const; void setRelatedSpace(::Ifc2x3::IfcSpace* v); @@ -20663,7 +20663,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: ::Ifc2x3::IfcObjectDefinition* RelatingObject() const; void setRelatingObject(::Ifc2x3::IfcObjectDefinition* v); @@ -20702,7 +20702,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: aggregate_of< ::Ifc2x3::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc2x3::IfcObject >::ptr v); @@ -20727,7 +20727,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the property set definition for that object or set of objects. ::Ifc2x3::IfcPropertySetDefinition* RelatingPropertyDefinition() const; @@ -20807,7 +20807,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: /// Reference to the type (or style) information for that object or set of objects. ::Ifc2x3::IfcTypeObject* RelatingType() const; @@ -20827,7 +20827,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc2x3::IfcOpeningElement* RelatingOpeningElement() const; @@ -20850,7 +20850,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -20865,7 +20865,7 @@ public: typedef aggregate_of< IfcRelFlowControlElements > list; }; -class IFC_PARSE_API IfcRelInteractionRequirements : public IfcRelConnects { +class IFC_PARSE_API IfcRelInteractionRequirements : public IfcRelConnects { public: boost::optional< double > DailyInteraction() const; void setDailyInteraction(boost::optional< double > v); @@ -20908,7 +20908,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20917,7 +20917,7 @@ public: typedef aggregate_of< IfcRelNests > list; }; -class IFC_PARSE_API IfcRelOccupiesSpaces : public IfcRelAssignsToActor { +class IFC_PARSE_API IfcRelOccupiesSpaces : public IfcRelAssignsToActor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20926,7 +20926,7 @@ public: typedef aggregate_of< IfcRelOccupiesSpaces > list; }; -class IFC_PARSE_API IfcRelOverridesProperties : public IfcRelDefinesByProperties { +class IFC_PARSE_API IfcRelOverridesProperties : public IfcRelDefinesByProperties { public: aggregate_of< ::Ifc2x3::IfcProperty >::ptr OverridingProperties() const; void setOverridingProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v); @@ -20968,7 +20968,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelConnects { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc2x3::IfcElement* RelatingElement() const; @@ -21031,7 +21031,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -21049,7 +21049,7 @@ public: typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; -class IFC_PARSE_API IfcRelSchedulesCostItems : public IfcRelAssignsToControl { +class IFC_PARSE_API IfcRelSchedulesCostItems : public IfcRelAssignsToControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21111,7 +21111,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc2x3::IfcProcess* RelatingProcess() const; @@ -21154,7 +21154,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc2x3::IfcSystem* RelatingSystem() const; @@ -21334,7 +21334,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc2x3::IfcSpace* RelatingSpace() const; @@ -21370,7 +21370,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelConnects { public: ::Ifc2x3::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc2x3::IfcElement* v); @@ -21395,7 +21395,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject { public: aggregate_of< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource virtual const IfcParse::entity& declaration() const; @@ -21480,7 +21480,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc2x3::IfcAxis1Placement* Axis() const; @@ -21559,7 +21559,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -21654,7 +21654,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -21742,7 +21742,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcProduct { public: boost::optional< std::string > LongName() const; void setLongName(boost::optional< std::string > v); @@ -21795,7 +21795,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21853,7 +21853,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -21957,7 +21957,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -22077,7 +22077,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -22090,7 +22090,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralElement >::ptr ReferencesElement() const; // INVERSE IfcRelConnectsStructuralElement::RelatedStructuralMember aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember @@ -22120,7 +22120,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: aggregate_of< IfcStructuralAction >::ptr Causes() const; // INVERSE IfcStructuralAction::CausedBy virtual const IfcParse::entity& declaration() const; @@ -22149,7 +22149,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value PredefinedType() const; @@ -22181,7 +22181,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: std::vector< double > /*[2:?]*/ SubsequentThickness() const; void setSubsequentThickness(std::vector< double > /*[2:?]*/ v); @@ -22194,7 +22194,7 @@ public: typedef aggregate_of< IfcStructuralSurfaceMemberVarying > list; }; -class IFC_PARSE_API IfcStructuredDimensionCallout : public IfcDraughtingCallout { +class IFC_PARSE_API IfcStructuredDimensionCallout : public IfcDraughtingCallout { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22264,7 +22264,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc2x3::IfcCurve* Directrix() const; @@ -22301,7 +22301,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc2x3::IfcDirection* ExtrudedDirection() const; @@ -22332,7 +22332,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc2x3::IfcAxis1Placement* AxisPosition() const; @@ -22373,7 +22373,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22626,7 +22626,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: std::string TaskId() const; void setTaskId(std::string v); @@ -22727,7 +22727,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc2x3::IfcTransportElementTypeEnum::Value PredefinedType() const; @@ -22753,7 +22753,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc2x3::IfcActorSelect* TheActor() const; @@ -22938,7 +22938,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; @@ -22984,7 +22984,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { public: /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. double TopFlangeWidth() const; @@ -23100,7 +23100,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -23124,7 +23124,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23142,7 +23142,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23324,7 +23324,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -23370,7 +23370,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { +class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23555,7 +23555,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -23584,7 +23584,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -23693,7 +23693,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc2x3::IfcColumnTypeEnum::Value PredefinedType() const; @@ -23770,7 +23770,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr Segments() const; @@ -23789,7 +23789,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc2x3::IfcAxis2Placement* Position() const; @@ -23872,7 +23872,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: boost::optional< std::string > ResourceIdentifier() const; void setResourceIdentifier(boost::optional< std::string > v); @@ -23899,7 +23899,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: aggregate_of< IfcRelAssignsToControl >::ptr Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl virtual const IfcParse::entity& declaration() const; @@ -23944,7 +23944,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23975,7 +23975,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: ::Ifc2x3::IfcActorSelect* SubmittedBy() const; void setSubmittedBy(::Ifc2x3::IfcActorSelect* v); @@ -24094,7 +24094,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc2x3::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -24115,7 +24115,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24144,7 +24144,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc2x3::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -24156,7 +24156,7 @@ public: typedef aggregate_of< IfcCurtainWallType > list; }; -class IFC_PARSE_API IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { +class IFC_PARSE_API IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24192,7 +24192,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24265,7 +24265,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24274,7 +24274,7 @@ public: typedef aggregate_of< IfcDistributionFlowElementType > list; }; -class IFC_PARSE_API IfcElectricalBaseProperties : public IfcEnergyProperties { +class IFC_PARSE_API IfcElectricalBaseProperties : public IfcEnergyProperties { public: boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > ElectricCurrentType() const; void setElectricCurrentType(boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v); @@ -24351,7 +24351,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -24468,7 +24468,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -24561,7 +24561,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24578,7 +24578,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24613,7 +24613,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -24650,7 +24650,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24659,7 +24659,7 @@ public: typedef aggregate_of< IfcEnergyConversionDeviceType > list; }; -class IFC_PARSE_API IfcEquipmentElement : public IfcElement { +class IFC_PARSE_API IfcEquipmentElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24668,7 +24668,7 @@ public: typedef aggregate_of< IfcEquipmentElement > list; }; -class IFC_PARSE_API IfcEquipmentStandard : public IfcControl { +class IFC_PARSE_API IfcEquipmentStandard : public IfcControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24702,7 +24702,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -24739,7 +24739,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc2x3::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -24774,7 +24774,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24806,7 +24806,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc2x3::IfcClosedShell >::ptr Voids() const; @@ -24825,7 +24825,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24856,7 +24856,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24958,7 +24958,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25021,7 +25021,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -25080,7 +25080,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -25111,7 +25111,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25142,7 +25142,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25182,7 +25182,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc2x3::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -25215,7 +25215,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25254,7 +25254,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25269,7 +25269,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25284,7 +25284,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25300,7 +25300,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25412,7 +25412,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25421,7 +25421,7 @@ public: typedef aggregate_of< IfcFurnishingElement > list; }; -class IFC_PARSE_API IfcFurnitureStandard : public IfcControl { +class IFC_PARSE_API IfcFurnitureStandard : public IfcControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25430,7 +25430,7 @@ public: typedef aggregate_of< IfcFurnitureStandard > list; }; -class IFC_PARSE_API IfcGasTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcGasTerminalType : public IfcFlowTerminalType { public: ::Ifc2x3::IfcGasTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc2x3::IfcGasTerminalTypeEnum::Value v); @@ -25536,7 +25536,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcProduct { +class IFC_PARSE_API IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr UAxes() const; @@ -25584,7 +25584,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -25622,7 +25622,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc2x3::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -25659,7 +25659,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc2x3::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -25681,7 +25681,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: ::Ifc2x3::IfcInventoryTypeEnum::Value InventoryType() const; void setInventoryType(::Ifc2x3::IfcInventoryTypeEnum::Value v); @@ -25735,7 +25735,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc2x3::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -25770,7 +25770,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: boost::optional< std::string > SkillSet() const; void setSkillSet(boost::optional< std::string > v); @@ -25809,7 +25809,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc2x3::IfcLampTypeEnum::Value PredefinedType() const; @@ -25851,7 +25851,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc2x3::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -25863,7 +25863,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLinearDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcLinearDimension : public IfcDimensionCurveDirectedCallout { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25900,7 +25900,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcFastener { +class IFC_PARSE_API IfcMechanicalFastener : public IfcFastener { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -25947,7 +25947,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcFastenerType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcFastenerType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26056,7 +26056,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc2x3::IfcMemberTypeEnum::Value PredefinedType() const; @@ -26094,7 +26094,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc2x3::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -26106,7 +26106,7 @@ public: typedef aggregate_of< IfcMotorConnectionType > list; }; -class IFC_PARSE_API IfcMove : public IfcTask { +class IFC_PARSE_API IfcMove : public IfcTask { public: ::Ifc2x3::IfcSpatialStructureElement* MoveFrom() const; void setMoveFrom(::Ifc2x3::IfcSpatialStructureElement* v); @@ -26127,7 +26127,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -26342,7 +26342,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: aggregate_of< IfcRelFillsElement >::ptr HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement virtual const IfcParse::entity& declaration() const; @@ -26352,7 +26352,7 @@ public: typedef aggregate_of< IfcOpeningElement > list; }; -class IFC_PARSE_API IfcOrderAction : public IfcTask { +class IFC_PARSE_API IfcOrderAction : public IfcTask { public: std::string ActionID() const; void setActionID(std::string v); @@ -26391,7 +26391,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc2x3::IfcOutletTypeEnum::Value PredefinedType() const; @@ -26407,7 +26407,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -26455,7 +26455,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: std::string PermitID() const; void setPermitID(std::string v); @@ -26494,7 +26494,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc2x3::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -26538,7 +26538,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc2x3::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -26626,7 +26626,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc2x3::IfcPlateTypeEnum::Value PredefinedType() const; @@ -26651,7 +26651,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Points() const; @@ -26715,7 +26715,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -26830,7 +26830,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: std::string ProcedureID() const; void setProcedureID(std::string v); @@ -26887,7 +26887,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: std::string ID() const; void setID(std::string v); @@ -26914,7 +26914,7 @@ public: typedef aggregate_of< IfcProjectOrder > list; }; -class IFC_PARSE_API IfcProjectOrderRecord : public IfcControl { +class IFC_PARSE_API IfcProjectOrderRecord : public IfcControl { public: aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr Records() const; void setRecords(aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr v); @@ -27033,7 +27033,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27076,7 +27076,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -27115,7 +27115,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc2x3::IfcPumpTypeEnum::Value PredefinedType() const; @@ -27127,7 +27127,7 @@ public: typedef aggregate_of< IfcPumpType > list; }; -class IFC_PARSE_API IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27155,7 +27155,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc2x3::IfcRailingTypeEnum::Value PredefinedType() const; @@ -27186,7 +27186,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc2x3::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -27219,7 +27219,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27228,7 +27228,7 @@ public: typedef aggregate_of< IfcRelAggregates > list; }; -class IFC_PARSE_API IfcRelAssignsTasks : public IfcRelAssignsToControl { +class IFC_PARSE_API IfcRelAssignsTasks : public IfcRelAssignsToControl { public: ::Ifc2x3::IfcScheduleTimeControl* TimeForTask() const; void setTimeForTask(::Ifc2x3::IfcScheduleTimeControl* v); @@ -27275,7 +27275,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -27287,7 +27287,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcScheduleTimeControl : public IfcControl { +class IFC_PARSE_API IfcScheduleTimeControl : public IfcControl { public: ::Ifc2x3::IfcDateTimeSelect* ActualStart() const; void setActualStart(::Ifc2x3::IfcDateTimeSelect* v); @@ -27333,7 +27333,7 @@ public: typedef aggregate_of< IfcScheduleTimeControl > list; }; -class IFC_PARSE_API IfcServiceLife : public IfcControl { +class IFC_PARSE_API IfcServiceLife : public IfcControl { public: ::Ifc2x3::IfcServiceLifeTypeEnum::Value ServiceLifeType() const; void setServiceLifeType(::Ifc2x3::IfcServiceLifeTypeEnum::Value v); @@ -27534,7 +27534,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -27637,7 +27637,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc2x3::IfcSlabTypeEnum::Value PredefinedType() const; @@ -27898,7 +27898,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: ::Ifc2x3::IfcInternalOrExternalEnum::Value InteriorOrExteriorSpace() const; void setInteriorOrExteriorSpace(::Ifc2x3::IfcInternalOrExternalEnum::Value v); @@ -27943,7 +27943,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -27955,7 +27955,7 @@ public: typedef aggregate_of< IfcSpaceHeaterType > list; }; -class IFC_PARSE_API IfcSpaceProgram : public IfcControl { +class IFC_PARSE_API IfcSpaceProgram : public IfcControl { public: std::string SpaceProgramIdentifier() const; void setSpaceProgramIdentifier(std::string v); @@ -28056,7 +28056,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc2x3::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -28093,7 +28093,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc2x3::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -28124,7 +28124,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc2x3::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -28154,7 +28154,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. bool DestabilizingLoad() const; @@ -28170,7 +28170,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc2x3::IfcBoundaryCondition* AppliedCondition() const; @@ -28199,7 +28199,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28244,7 +28244,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc2x3::IfcStructuralCurveTypeEnum::Value PredefinedType() const; @@ -28275,7 +28275,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28290,7 +28290,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralAction { public: ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const; void setProjectedOrTrue(::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v); @@ -28301,7 +28301,7 @@ public: typedef aggregate_of< IfcStructuralLinearAction > list; }; -class IFC_PARSE_API IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { +class IFC_PARSE_API IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { public: ::Ifc2x3::IfcShapeAspect* VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(::Ifc2x3::IfcShapeAspect* v); @@ -28346,7 +28346,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc2x3::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -28378,7 +28378,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralAction { public: ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const; void setProjectedOrTrue(::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v); @@ -28389,7 +28389,7 @@ public: typedef aggregate_of< IfcStructuralPlanarAction > list; }; -class IFC_PARSE_API IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { +class IFC_PARSE_API IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { public: ::Ifc2x3::IfcShapeAspect* VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(::Ifc2x3::IfcShapeAspect* v); @@ -28446,7 +28446,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28467,7 +28467,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28518,7 +28518,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28530,7 +28530,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -28560,7 +28560,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28592,7 +28592,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: ::Ifc2x3::IfcActorSelect* SubContractor() const; void setSubContractor(::Ifc2x3::IfcActorSelect* v); @@ -28644,7 +28644,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -28672,7 +28672,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem virtual const IfcParse::entity& declaration() const; @@ -28713,7 +28713,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc2x3::IfcTankTypeEnum::Value PredefinedType() const; @@ -28725,7 +28725,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTimeSeriesSchedule : public IfcControl { +class IFC_PARSE_API IfcTimeSeriesSchedule : public IfcControl { public: boost::optional< aggregate_of_instance::ptr > ApplicableDates() const; void setApplicableDates(boost::optional< aggregate_of_instance::ptr > v); @@ -28766,7 +28766,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc2x3::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -28893,7 +28893,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > OperationType() const; void setOperationType(boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v); @@ -28987,7 +28987,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc2x3::IfcCurve* BasisCurve() const; @@ -29039,7 +29039,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc2x3::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -29078,7 +29078,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -29127,7 +29127,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc2x3::IfcValveTypeEnum::Value PredefinedType() const; @@ -29224,7 +29224,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29316,7 +29316,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc2x3::IfcWallTypeEnum::Value PredefinedType() const; @@ -29363,7 +29363,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc2x3::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -29418,7 +29418,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: std::string Identifier() const; void setIdentifier(std::string v); @@ -29478,7 +29478,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29526,7 +29526,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29619,7 +29619,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcGroup { +class IFC_PARSE_API IfcZone : public IfcGroup { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29628,7 +29628,7 @@ public: typedef aggregate_of< IfcZone > list; }; -class IFC_PARSE_API Ifc2DCompositeCurve : public IfcCompositeCurve { +class IFC_PARSE_API Ifc2DCompositeCurve : public IfcCompositeCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29674,7 +29674,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: std::string RequestID() const; void setRequestID(std::string v); @@ -29710,7 +29710,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -29747,7 +29747,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc2x3::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc2x3::IfcAirTerminalTypeEnum::Value v); @@ -29783,7 +29783,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -29795,7 +29795,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAngularDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcAngularDimension : public IfcDimensionCurveDirectedCallout { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29827,7 +29827,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: std::string AssetID() const; void setAssetID(std::string v); @@ -29914,7 +29914,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -30035,7 +30035,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc2x3::IfcBeamTypeEnum::Value PredefinedType() const; @@ -30047,7 +30047,7 @@ public: typedef aggregate_of< IfcBeamType > list; }; -class IFC_PARSE_API IfcBezierCurve : public IfcBSplineCurve { +class IFC_PARSE_API IfcBezierCurve : public IfcBSplineCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30084,7 +30084,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc2x3::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -30458,7 +30458,7 @@ public: /// 'AdvancedBrep' geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcBuildingElement : public IfcElement { +class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30467,7 +30467,7 @@ public: typedef aggregate_of< IfcBuildingElement > list; }; -class IFC_PARSE_API IfcBuildingElementComponent : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementComponent : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30492,7 +30492,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcBuildingElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcBuildingElementComponent { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30690,7 +30690,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > CompositionType() const; void setCompositionType(boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v); @@ -30734,7 +30734,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -30771,7 +30771,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -30814,7 +30814,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -30866,7 +30866,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc2x3::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -30909,7 +30909,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc2x3::IfcChillerTypeEnum::Value PredefinedType() const; @@ -30947,7 +30947,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -30985,7 +30985,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc2x3::IfcCoilTypeEnum::Value PredefinedType() const; @@ -31267,7 +31267,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuildingElement { +class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31302,7 +31302,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc2x3::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -31340,7 +31340,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc2x3::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -31352,7 +31352,7 @@ public: typedef aggregate_of< IfcCondenserType > list; }; -class IFC_PARSE_API IfcCondition : public IfcGroup { +class IFC_PARSE_API IfcCondition : public IfcGroup { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31361,7 +31361,7 @@ public: typedef aggregate_of< IfcCondition > list; }; -class IFC_PARSE_API IfcConditionCriterion : public IfcControl { +class IFC_PARSE_API IfcConditionCriterion : public IfcControl { public: ::Ifc2x3::IfcConditionCriterionSelect* Criterion() const; void setCriterion(::Ifc2x3::IfcConditionCriterionSelect* v); @@ -31395,7 +31395,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31429,7 +31429,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: boost::optional< aggregate_of_instance::ptr > Suppliers() const; void setSuppliers(boost::optional< aggregate_of_instance::ptr > v); @@ -31456,7 +31456,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31493,7 +31493,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc2x3::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -31537,7 +31537,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc2x3::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -31772,7 +31772,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuildingElement { +class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -31923,7 +31923,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31965,7 +31965,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc2x3::IfcDamperTypeEnum::Value PredefinedType() const; @@ -31977,7 +31977,7 @@ public: typedef aggregate_of< IfcDamperType > list; }; -class IFC_PARSE_API IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32158,7 +32158,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32354,7 +32354,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32399,7 +32399,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -32464,7 +32464,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32634,7 +32634,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32710,7 +32710,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -32801,7 +32801,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -33168,7 +33168,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuildingElement { +class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -33215,7 +33215,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc2x3::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -33255,7 +33255,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc2x3::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -33292,7 +33292,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc2x3::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -33304,7 +33304,7 @@ public: typedef aggregate_of< IfcDuctSilencerType > list; }; -class IFC_PARSE_API IfcEdgeFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcEdgeFeature : public IfcFeatureElementSubtraction { public: boost::optional< double > FeatureLength() const; void setFeatureLength(boost::optional< double > v); @@ -33343,7 +33343,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc2x3::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -33381,7 +33381,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -33424,7 +33424,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -33436,7 +33436,7 @@ public: typedef aggregate_of< IfcElectricGeneratorType > list; }; -class IFC_PARSE_API IfcElectricHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricHeaterType : public IfcFlowTerminalType { public: ::Ifc2x3::IfcElectricHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc2x3::IfcElectricHeaterTypeEnum::Value v); @@ -33473,7 +33473,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc2x3::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -33511,7 +33511,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -33523,7 +33523,7 @@ public: typedef aggregate_of< IfcElectricTimeControlType > list; }; -class IFC_PARSE_API IfcElectricalCircuit : public IfcSystem { +class IFC_PARSE_API IfcElectricalCircuit : public IfcSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33532,7 +33532,7 @@ public: typedef aggregate_of< IfcElectricalCircuit > list; }; -class IFC_PARSE_API IfcElectricalElement : public IfcElement { +class IFC_PARSE_API IfcElectricalElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33549,7 +33549,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33585,7 +33585,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc2x3::IfcFanTypeEnum::Value PredefinedType() const; @@ -33625,7 +33625,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc2x3::IfcFilterTypeEnum::Value PredefinedType() const; @@ -33669,7 +33669,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -33689,7 +33689,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33702,7 +33702,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33740,7 +33740,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -33756,7 +33756,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33787,7 +33787,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33804,7 +33804,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33823,7 +33823,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33836,7 +33836,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33866,7 +33866,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuildingElement { +class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: /// The generic type of the footing. /// @@ -34129,7 +34129,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuildingElement { +class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34155,7 +34155,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcBuildingElement { +class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: /// The predefined generic type of the pile according to function. /// @@ -34401,7 +34401,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuildingElement { +class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34541,7 +34541,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuildingElement { +class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: /// 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. @@ -34687,7 +34687,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuildingElement { +class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: ::Ifc2x3::IfcRampTypeEnum::Value ShapeType() const; void setShapeType(::Ifc2x3::IfcRampTypeEnum::Value v); @@ -34885,7 +34885,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34894,7 +34894,7 @@ public: typedef aggregate_of< IfcRampFlight > list; }; -class IFC_PARSE_API IfcRationalBezierCurve : public IfcBezierCurve { +class IFC_PARSE_API IfcRationalBezierCurve : public IfcBezierCurve { public: std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(std::vector< double > /*[2:?]*/ v); @@ -34912,7 +34912,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcBuildingElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcBuildingElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -34946,7 +34946,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -35115,7 +35115,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuildingElement { +class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: ::Ifc2x3::IfcRoofTypeEnum::Value ShapeType() const; void setShapeType(::Ifc2x3::IfcRoofTypeEnum::Value v); @@ -35126,7 +35126,7 @@ public: typedef aggregate_of< IfcRoof > list; }; -class IFC_PARSE_API IfcRoundedEdgeFeature : public IfcEdgeFeature { +class IFC_PARSE_API IfcRoundedEdgeFeature : public IfcEdgeFeature { public: boost::optional< double > Radius() const; void setRadius(boost::optional< double > v); @@ -35184,7 +35184,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc2x3::IfcSensorTypeEnum::Value PredefinedType() const; @@ -35455,7 +35455,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuildingElement { +class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: /// 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. @@ -35634,7 +35634,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuildingElement { +class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: ::Ifc2x3::IfcStairTypeEnum::Value ShapeType() const; void setShapeType(::Ifc2x3::IfcStairTypeEnum::Value v); @@ -35811,7 +35811,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: /// Number of the risers included in the stair flight /// @@ -35862,7 +35862,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc2x3::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -35892,7 +35892,7 @@ public: typedef aggregate_of< IfcStructuralAnalysisModel > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: ::Ifc2x3::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc2x3::IfcTendonTypeEnum::Value v); @@ -35917,7 +35917,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35947,7 +35947,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { public: /// Defines the type of vibration isolator. ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -36200,7 +36200,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuildingElement { +class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36410,7 +36410,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36776,7 +36776,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuildingElement { +class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -36825,7 +36825,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc2x3::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -36862,7 +36862,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc2x3::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -37110,7 +37110,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuildingElement { +class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37119,7 +37119,7 @@ public: typedef aggregate_of< IfcBeam > list; }; -class IFC_PARSE_API IfcChamferEdgeFeature : public IfcEdgeFeature { +class IFC_PARSE_API IfcChamferEdgeFeature : public IfcEdgeFeature { public: boost::optional< double > Width() const; void setWidth(boost::optional< double > v); @@ -37167,7 +37167,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc2x3::IfcControllerTypeEnum::Value PredefinedType() const; @@ -37209,7 +37209,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37295,7 +37295,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: boost::optional< std::string > ControlElementId() const; void setControlElementId(boost::optional< std::string > v); @@ -37307,7 +37307,7 @@ public: typedef aggregate_of< IfcDistributionControlElement > list; }; -class IFC_PARSE_API IfcElectricDistributionPoint : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionPoint : public IfcFlowController { public: ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value DistributionPointFunction() const; void setDistributionPointFunction(::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v); @@ -37347,7 +37347,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: double NominalDiameter() const; void setNominalDiameter(double v); diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 9fd97bbbda..dcc2405287 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,36 +125,36 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -163,13 +163,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +177,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +252,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -261,20 +261,20 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -283,11 +283,11 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -295,7 +295,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -306,7 +306,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -329,7 +329,7 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -356,7 +356,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -366,7 +366,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -379,23 +379,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -403,7 +403,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -412,7 +412,7 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -423,9 +423,9 @@ typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -435,13 +435,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -451,13 +451,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -469,7 +469,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -489,7 +489,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -502,7 +502,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -510,7 +510,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -523,7 +523,7 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -534,7 +534,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -544,7 +544,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -555,7 +555,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcStyleAssignmentSelect; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -565,7 +565,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -575,7 +575,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -583,20 +583,20 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -610,7 +610,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -621,7 +621,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -630,11 +630,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7376,7 +7376,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7389,7 +7389,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7405,7 +7405,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7418,7 +7418,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7427,7 +7427,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7436,7 +7436,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7451,7 +7451,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7460,7 +7460,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7473,7 +7473,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcTranslationalStiffnessSelect, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcRotationalStiffnessSelect, public IfcMetricValueSelect, public IfcSimpleValue, public IfcModulusOfSubgradeReactionSelect, public IfcAppliedValueSelect, public IfcWarpingStiffnessSelect, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7524,7 +7524,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7543,7 +7543,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7599,7 +7599,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7613,7 +7613,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7627,7 +7627,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7642,7 +7642,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7656,7 +7656,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7682,7 +7682,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7702,7 +7702,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7744,7 +7744,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7758,7 +7758,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7773,7 +7773,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7786,7 +7786,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7799,7 +7799,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7813,7 +7813,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7826,7 +7826,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7839,7 +7839,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7852,7 +7852,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7867,7 +7867,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7880,7 +7880,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7893,7 +7893,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7906,7 +7906,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7928,7 +7928,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7948,7 +7948,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7979,7 +7979,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7992,7 +7992,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8005,7 +8005,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8026,7 +8026,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8039,7 +8039,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8050,7 +8050,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8072,7 +8072,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8085,7 +8085,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8098,7 +8098,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8113,7 +8113,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8128,7 +8128,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8139,7 +8139,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8152,7 +8152,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8165,7 +8165,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8187,7 +8187,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8205,7 +8205,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8220,7 +8220,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcBendingParameterSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8229,7 +8229,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8242,7 +8242,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8255,7 +8255,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8268,7 +8268,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcTranslationalStiffnessSelect, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8281,7 +8281,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8294,7 +8294,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8307,7 +8307,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8322,7 +8322,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8337,7 +8337,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8350,7 +8350,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8363,7 +8363,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8376,7 +8376,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8389,7 +8389,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8404,7 +8404,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8419,7 +8419,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8432,7 +8432,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8445,7 +8445,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8458,7 +8458,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8475,7 +8475,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8488,7 +8488,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8501,7 +8501,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8514,7 +8514,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8526,7 +8526,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8590,7 +8590,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8603,7 +8603,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8617,7 +8617,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8628,7 +8628,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8643,7 +8643,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcTrimmingSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8656,7 +8656,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8675,7 +8675,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcBendingParameterSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8684,7 +8684,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8698,7 +8698,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcHatchLineDistanceSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8712,7 +8712,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8725,7 +8725,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8742,7 +8742,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8755,7 +8755,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8764,7 +8764,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8777,7 +8777,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8795,7 +8795,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8810,7 +8810,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8823,7 +8823,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8837,7 +8837,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8850,7 +8850,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcRotationalStiffnessSelect, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8863,7 +8863,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8876,7 +8876,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8889,7 +8889,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8904,7 +8904,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8913,7 +8913,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8926,7 +8926,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8935,7 +8935,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8948,7 +8948,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8961,7 +8961,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8976,7 +8976,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8993,7 +8993,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9006,7 +9006,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9019,7 +9019,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9038,7 +9038,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9056,7 +9056,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9077,7 +9077,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9104,7 +9104,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9122,7 +9122,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9135,7 +9135,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9148,7 +9148,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9160,7 +9160,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9172,7 +9172,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9185,7 +9185,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9200,7 +9200,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9216,7 +9216,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9231,7 +9231,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9243,7 +9243,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcSimpleValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9256,7 +9256,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9271,7 +9271,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9284,7 +9284,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9299,7 +9299,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9312,7 +9312,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9325,7 +9325,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9338,7 +9338,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue, public IfcWarpingStiffnessSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9371,7 +9371,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9384,7 +9384,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcColourOrFactor, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9398,7 +9398,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9418,7 +9418,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9445,7 +9445,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > Purpose() const; @@ -9470,7 +9470,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4::IfcOrganization* ApplicationDeveloper() const; @@ -9504,7 +9504,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -9552,7 +9552,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -9613,7 +9613,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -9634,7 +9634,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -9670,7 +9670,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -9697,7 +9697,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -9732,7 +9732,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -9757,7 +9757,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -9781,7 +9781,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -9803,7 +9803,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -9823,7 +9823,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -9849,7 +9849,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -9929,7 +9929,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -9965,7 +9965,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10036,7 +10036,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10051,7 +10051,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr Elements() const; @@ -10076,7 +10076,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4::IfcNamedUnit* Unit() const; @@ -10107,7 +10107,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10142,7 +10142,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10159,7 +10159,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcObjectReferenceSelect, public IfcLightDistributionDataSourceSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10195,7 +10195,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10210,7 +10210,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10225,7 +10225,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10256,7 +10256,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10280,7 +10280,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10302,7 +10302,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10340,7 +10340,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10377,7 +10377,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10399,7 +10399,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10424,7 +10424,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -10462,7 +10462,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -10500,7 +10500,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -10534,7 +10534,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4::IfcMaterial* Material() const; @@ -10605,7 +10605,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -10667,7 +10667,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -10698,7 +10698,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4::IfcMaterial >::ptr Materials() const; @@ -10714,7 +10714,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -10746,7 +10746,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -10774,7 +10774,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -10816,7 +10816,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -10835,7 +10835,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4::IfcValue* ValueComponent() const; @@ -10901,7 +10901,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4::IfcBenchmarkEnum::Value Benchmark() const; @@ -10925,7 +10925,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -10941,7 +10941,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4::IfcDimensionalExponents* Dimensions() const; @@ -10966,7 +10966,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: aggregate_of< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement aggregate_of< IfcLocalPlacement >::ptr ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo @@ -10985,7 +10985,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11012,7 +11012,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11049,7 +11049,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4::IfcPersonAndOrganization* OwningUser() const; @@ -11090,7 +11090,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11134,7 +11134,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// The person who is related to the organization. ::Ifc4::IfcPerson* ThePerson() const; @@ -11156,7 +11156,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11181,7 +11181,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4::IfcNamedUnit* Unit() const; @@ -11195,7 +11195,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11231,7 +11231,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11254,7 +11254,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11287,7 +11287,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11316,7 +11316,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11332,7 +11332,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. aggregate_of_instance::ptr Styles() const; @@ -11360,7 +11360,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -11547,7 +11547,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4::IfcProfileTypeEnum::Value ProfileType() const; @@ -11586,7 +11586,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -11611,7 +11611,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -11666,7 +11666,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -11688,7 +11688,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -11709,7 +11709,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -11730,7 +11730,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -11751,7 +11751,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -11772,7 +11772,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -11793,7 +11793,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -11815,7 +11815,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -11861,7 +11861,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -11925,7 +11925,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4::IfcRepresentationContext* ContextOfItems() const; @@ -11959,7 +11959,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12006,7 +12006,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12027,7 +12027,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12047,7 +12047,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12070,7 +12070,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12101,7 +12101,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4::IfcSIPrefix::Value > Prefix() const; @@ -12120,7 +12120,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12175,7 +12175,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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 @@ -12220,7 +12220,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12364,7 +12364,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12375,7 +12375,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12389,7 +12389,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12411,7 +12411,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12428,7 +12428,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12439,7 +12439,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12452,7 +12452,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -12480,7 +12480,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12516,7 +12516,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -12547,7 +12547,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12560,7 +12560,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -12584,7 +12584,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// An indication of which side of the surface to apply the style. ::Ifc4::IfcSurfaceSide::Value Side() const; @@ -12609,7 +12609,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -12638,7 +12638,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -12659,7 +12659,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4::IfcColourRgb* SurfaceColour() const; @@ -12690,7 +12690,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Textures() const; @@ -12793,7 +12793,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -12844,7 +12844,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -12866,7 +12866,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -12901,7 +12901,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -12923,7 +12923,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13039,7 +13039,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4::IfcRecurrencePattern* v); @@ -13055,7 +13055,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13112,7 +13112,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// A character style to be used for presented text. ::Ifc4::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13154,7 +13154,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4::IfcColour* Colour() const; @@ -13175,7 +13175,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13222,7 +13222,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v); @@ -13258,7 +13258,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13327,7 +13327,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13369,7 +13369,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13381,7 +13381,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13397,7 +13397,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13416,7 +13416,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// An unique name for the time series. std::string Name() const; @@ -13458,7 +13458,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -13474,7 +13474,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13516,7 +13516,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13529,7 +13529,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -13550,7 +13550,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13567,7 +13567,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4::IfcPoint* VertexGeometry() const; @@ -13637,7 +13637,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4::IfcGridAxis >::ptr IntersectingAxes() const; @@ -13659,7 +13659,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -13687,7 +13687,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4::IfcApproval* RelatingApproval() const; @@ -13719,7 +13719,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4::IfcCurve* OuterCurve() const; @@ -13745,7 +13745,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4::IfcBoundedCurve* Curve() const; @@ -13775,7 +13775,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4::IfcCurve >::ptr InnerCurves() const; @@ -13795,7 +13795,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -13838,7 +13838,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -13864,7 +13864,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// Source (or publisher) for this classification. /// @@ -13943,7 +13943,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// The classification system or source that is referenced. ::Ifc4::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -13964,7 +13964,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -13979,7 +13979,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcColour, public IfcFillStyleSelect { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14029,7 +14029,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4::IfcProfileDef >::ptr Profiles() const; @@ -14052,7 +14052,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4::IfcFace >::ptr CfsFaces() const; @@ -14076,7 +14076,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14109,7 +14109,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14133,7 +14133,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14192,7 +14192,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14225,7 +14225,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14247,7 +14247,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14289,7 +14289,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// 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. ::Ifc4::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14313,7 +14313,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14338,7 +14338,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -14360,7 +14360,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -14462,7 +14462,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4::IfcProfileDef* ParentProfile() const; @@ -14482,7 +14482,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -14566,7 +14566,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4::IfcDocumentInformation* RelatingDocument() const; @@ -14594,7 +14594,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -14660,7 +14660,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4::IfcVertex* EdgeStart() const; @@ -14707,7 +14707,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4::IfcCurve* EdgeGeometry() const; @@ -14744,7 +14744,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -14767,7 +14767,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -14788,7 +14788,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -14848,7 +14848,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4::IfcFaceBound >::ptr Bounds() const; @@ -14865,7 +14865,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4::IfcLoop* Bound() const; @@ -14884,7 +14884,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14928,7 +14928,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4::IfcSurface* FaceSurface() const; @@ -14949,7 +14949,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15009,7 +15009,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15069,7 +15069,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15112,7 +15112,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15133,7 +15133,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4::IfcGeometricRepresentationContext* ParentContext() const; @@ -15170,7 +15170,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15226,7 +15226,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15257,7 +15257,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4::IfcSurface* BaseSurface() const; @@ -15306,7 +15306,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15318,7 +15318,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4::IfcTessellatedFaceSet* v); @@ -15335,7 +15335,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4::IfcTessellatedFaceSet* v); @@ -15348,7 +15348,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -15363,7 +15363,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15411,7 +15411,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -15434,7 +15434,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -15462,7 +15462,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15479,7 +15479,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15498,7 +15498,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4::IfcAxis2Placement3D* Position() const; @@ -15539,7 +15539,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15579,7 +15579,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -15654,7 +15654,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4::IfcObjectPlacement* PlacementRelTo() const; @@ -15694,7 +15694,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15721,7 +15721,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4::IfcRepresentationMap* MappingSource() const; @@ -15762,7 +15762,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -15797,7 +15797,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -15835,7 +15835,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -15882,7 +15882,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4::IfcMaterial* RepresentedMaterial() const; @@ -15993,7 +15993,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4::IfcMaterialLayerSet* ForLayerSet() const; @@ -16035,7 +16035,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4::IfcMaterialProfileSet* ForProfileSet() const; @@ -16082,7 +16082,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16118,7 +16118,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16134,7 +16134,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4::IfcMaterial* RelatingMaterial() const; @@ -16178,7 +16178,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16236,7 +16236,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16310,7 +16310,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16324,7 +16324,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4::IfcOrganization* RelatingOrganization() const; @@ -16345,7 +16345,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4::IfcEdge* EdgeElement() const; @@ -16401,7 +16401,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4::IfcAxis2Placement2D* Position() const; @@ -16426,7 +16426,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr EdgeList() const; @@ -16446,7 +16446,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -16484,7 +16484,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -16515,7 +16515,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4::IfcCartesianPoint* Location() const; @@ -16531,7 +16531,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -16550,7 +16550,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcPointOrVertexPoint, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16567,7 +16567,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4::IfcCurve* BasisCurve() const; @@ -16590,7 +16590,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4::IfcSurface* BasisSurface() const; @@ -16646,7 +16646,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Polygon() const; @@ -16713,7 +16713,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4::IfcAxis2Placement3D* Position() const; @@ -16736,7 +16736,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -16748,7 +16748,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16767,7 +16767,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16787,7 +16787,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -16808,7 +16808,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4::IfcProfileDef* ProfileDefinition() const; @@ -16822,7 +16822,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -16892,7 +16892,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -16910,7 +16910,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4::IfcProperty* DependingProperty() const; @@ -16969,7 +16969,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17005,7 +17005,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17014,7 +17014,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17056,7 +17056,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17075,7 +17075,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17094,7 +17094,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17128,7 +17128,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17142,7 +17142,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17176,7 +17176,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4::IfcConstraint* RelatingConstraint() const; @@ -17192,7 +17192,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -17282,7 +17282,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -17298,7 +17298,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4::IfcSectionTypeEnum::Value SectionType() const; @@ -17322,7 +17322,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -17401,7 +17401,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4::IfcCompositeCurve* SpineCurve() const; @@ -17430,7 +17430,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -17443,7 +17443,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17460,7 +17460,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -17482,7 +17482,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17495,7 +17495,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -17526,7 +17526,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -17548,7 +17548,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -17577,7 +17577,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -17594,7 +17594,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -17628,7 +17628,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -17649,7 +17649,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4::IfcEdge* ParentEdge() const; @@ -17670,7 +17670,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17723,7 +17723,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -17780,7 +17780,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4::IfcProfileDef* SweptArea() const; @@ -17847,7 +17847,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4::IfcCurve* Directrix() const; @@ -17884,7 +17884,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -17900,7 +17900,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4::IfcProfileDef* SweptCurve() const; @@ -17942,7 +17942,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -17978,7 +17978,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17996,7 +17996,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18023,7 +18023,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4::IfcPlanarExtent* Extent() const; @@ -18102,7 +18102,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18166,7 +18166,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18217,7 +18217,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -18268,7 +18268,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -18354,7 +18354,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -18381,7 +18381,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -18429,7 +18429,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18465,7 +18465,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcHatchLineDistanceSelect, public IfcVectorOrDirection { public: /// The direction of the vector. ::Ifc4::IfcDirection* Orientation() const; @@ -18491,7 +18491,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4::IfcVertex* LoopVertex() const; @@ -18520,7 +18520,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -18565,7 +18565,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -18604,7 +18604,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18632,7 +18632,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -18687,7 +18687,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -18731,7 +18731,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4::IfcDirection* Axis() const; @@ -18753,7 +18753,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4::IfcDirection* RefDirection() const; @@ -18777,7 +18777,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4::IfcDirection* Axis() const; @@ -18817,7 +18817,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The Boolean operator used in the operation to create the result. ::Ifc4::IfcBooleanOperator::Value Operator() const; @@ -18846,7 +18846,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18876,7 +18876,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4::IfcCartesianPoint* Corner() const; @@ -18926,7 +18926,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4::IfcBoundingBox* Enclosure() const; @@ -18959,7 +18959,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -18989,7 +18989,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19001,7 +19001,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19010,7 +19010,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19021,7 +19021,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19061,7 +19061,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4::IfcDirection* Axis1() const; @@ -19086,7 +19086,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19104,7 +19104,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19120,7 +19120,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4::IfcDirection* Axis3() const; @@ -19142,7 +19142,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19168,7 +19168,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19228,7 +19228,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcSolidOrShell, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19244,7 +19244,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -19272,7 +19272,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -19294,7 +19294,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4::IfcTransitionCode::Value Transition() const; @@ -19329,7 +19329,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v); @@ -19354,7 +19354,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -19393,7 +19393,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -19409,7 +19409,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4::IfcAxis2Placement3D* Position() const; @@ -19461,7 +19461,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4::IfcCsgSelect* TreeRootExpression() const; @@ -19482,7 +19482,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19503,7 +19503,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4::IfcPlane* BasisSurface() const; @@ -19541,7 +19541,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4::IfcSurface* BasisSurface() const; @@ -19564,7 +19564,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcGridPlacementDirectionSelect, public IfcVectorOrDirection { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -19601,7 +19601,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -19632,7 +19632,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr EdgeList() const; @@ -19720,7 +19720,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -19758,7 +19758,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -19774,7 +19774,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4::IfcAxis2Placement3D* Position() const; @@ -19801,7 +19801,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -19821,7 +19821,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -19910,7 +19910,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4::IfcDirection* ExtrudedDirection() const; @@ -20023,7 +20023,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4::IfcProfileDef* EndSweptArea() const; @@ -20046,7 +20046,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20104,7 +20104,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4::IfcCurveStyle* HatchLineAppearance() const; @@ -20140,7 +20140,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4::IfcVector >::ptr TilingPattern() const; @@ -20215,7 +20215,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc4::IfcCurve* Directrix() const; @@ -20263,7 +20263,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20308,7 +20308,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -20382,7 +20382,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -20400,7 +20400,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20471,7 +20471,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -20499,7 +20499,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -20511,7 +20511,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -20572,7 +20572,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -20609,7 +20609,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -20633,7 +20633,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4::IfcCartesianPoint* Pnt() const; @@ -20710,7 +20710,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4::IfcClosedShell* Outer() const; @@ -20803,7 +20803,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -20829,7 +20829,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. ::Ifc4::IfcCurve* BasisCurve() const; @@ -20861,7 +20861,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. ::Ifc4::IfcCurve* BasisCurve() const; @@ -20888,7 +20888,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4::IfcSurface* v); @@ -20906,7 +20906,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -20954,7 +20954,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20967,7 +20967,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcColour, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20982,7 +20982,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21010,7 +21010,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21031,7 +21031,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21083,7 +21083,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -21196,7 +21196,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcProductSelect { public: /// 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. ::Ifc4::IfcObjectPlacement* ObjectPlacement() const; @@ -21255,7 +21255,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21287,7 +21287,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21399,7 +21399,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4::IfcValue* UpperBoundValue() const; @@ -21498,7 +21498,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -21579,7 +21579,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -21610,7 +21610,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -21679,7 +21679,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4::IfcProperty >::ptr HasProperties() const; @@ -21721,7 +21721,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -21793,7 +21793,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -21927,7 +21927,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -21983,7 +21983,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22009,7 +22009,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4::IfcObjectTypeEnum::Value ProxyType() const; @@ -22043,7 +22043,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22148,7 +22148,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22180,7 +22180,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4::IfcSurface* BasisSurface() const; @@ -22235,7 +22235,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -22260,7 +22260,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -22284,7 +22284,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4::IfcActor* RelatingActor() const; @@ -22303,7 +22303,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4::IfcControl* RelatingControl() const; @@ -22327,7 +22327,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4::IfcGroup* RelatingGroup() const; @@ -22347,7 +22347,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -22380,7 +22380,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -22404,7 +22404,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -22423,7 +22423,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -22477,7 +22477,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -22493,7 +22493,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4::IfcApproval* RelatingApproval() const; @@ -22534,7 +22534,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4::IfcClassificationSelect* RelatingClassification() const; @@ -22548,7 +22548,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -22569,7 +22569,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4::IfcDocumentSelect* RelatingDocument() const; @@ -22587,7 +22587,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4::IfcLibrarySelect* RelatingLibrary() const; @@ -22692,7 +22692,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4::IfcMaterialSelect* RelatingMaterial() const; @@ -22706,7 +22706,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22736,7 +22736,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4::IfcConnectionGeometry* ConnectionGeometry() const; @@ -22783,7 +22783,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -22828,7 +22828,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4::IfcPort* RelatingPort() const; @@ -22857,7 +22857,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4::IfcPort* RelatingPort() const; @@ -22877,7 +22877,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -22915,7 +22915,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4::IfcStructuralMember* RelatingStructuralMember() const; @@ -22958,7 +22958,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4::IfcConnectionGeometry* ConnectionConstraint() const; @@ -22992,7 +22992,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4::IfcElement >::ptr RealizingElements() const; @@ -23066,7 +23066,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23098,7 +23098,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23140,7 +23140,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -23167,7 +23167,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4::IfcContext* RelatingContext() const; @@ -23211,7 +23211,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23246,7 +23246,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23269,7 +23269,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4::IfcObject >::ptr RelatedObjects() const; @@ -23298,7 +23298,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -23324,7 +23324,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -23407,7 +23407,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v); @@ -23429,7 +23429,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4::IfcOpeningElement* RelatingOpeningElement() const; @@ -23452,7 +23452,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -23513,7 +23513,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4::IfcElement* RelatingElement() const; @@ -23561,7 +23561,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -23611,7 +23611,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4::IfcElement* RelatingElement() const; @@ -23674,7 +23674,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -23745,7 +23745,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4::IfcProcess* RelatingProcess() const; @@ -23799,7 +23799,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4::IfcSystem* RelatingSystem() const; @@ -23979,7 +23979,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24055,7 +24055,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24099,7 +24099,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24118,7 +24118,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4::IfcElement* v); @@ -24153,7 +24153,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -24176,7 +24176,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -24272,7 +24272,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4::IfcAxis1Placement* Axis() const; @@ -24344,7 +24344,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4::IfcProfileDef* v); @@ -24419,7 +24419,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -24514,7 +24514,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -24573,7 +24573,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -24659,7 +24659,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -24706,7 +24706,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -24791,7 +24791,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -24839,7 +24839,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24896,7 +24896,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -24937,7 +24937,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25000,7 +25000,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25012,7 +25012,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -25115,7 +25115,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -25235,7 +25235,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -25248,7 +25248,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -25277,7 +25277,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25305,7 +25305,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -25337,7 +25337,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25367,7 +25367,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -25389,7 +25389,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -25401,7 +25401,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4::IfcCurve* v); @@ -25477,7 +25477,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc4::IfcCurve* Directrix() const; @@ -25514,7 +25514,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4::IfcDirection* ExtrudedDirection() const; @@ -25545,7 +25545,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4::IfcAxis1Placement* AxisPosition() const; @@ -25586,7 +25586,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -25841,7 +25841,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -25928,7 +25928,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -25944,7 +25944,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4::IfcCartesianPointList3D* v); @@ -25957,7 +25957,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26032,7 +26032,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcTransportElementTypeEnum::Value PredefinedType() const; @@ -26044,7 +26044,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26158,7 +26158,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -26255,7 +26255,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -26295,7 +26295,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4::IfcActorSelect* TheActor() const; @@ -26340,7 +26340,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26369,7 +26369,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4::IfcClosedShell >::ptr v); @@ -26552,7 +26552,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; @@ -26630,7 +26630,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -26666,7 +26666,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -26786,7 +26786,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -26810,7 +26810,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26828,7 +26828,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27010,7 +27010,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -27056,7 +27056,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { +class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27241,7 +27241,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -27277,7 +27277,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -27306,7 +27306,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -27318,7 +27318,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27424,7 +27424,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4::IfcColumnTypeEnum::Value PredefinedType() const; @@ -27443,7 +27443,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -27524,7 +27524,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr Segments() const; @@ -27549,7 +27549,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27562,7 +27562,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4::IfcAxis2Placement* Position() const; @@ -27586,7 +27586,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -27610,7 +27610,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -27634,7 +27634,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -27717,7 +27717,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4::IfcResourceTime* Usage() const; void setUsage(::Ifc4::IfcResourceTime* v); @@ -27741,7 +27741,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -27792,7 +27792,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -27842,7 +27842,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -27953,7 +27953,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -27974,7 +27974,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -28007,7 +28007,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28072,7 +28072,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28111,7 +28111,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28184,7 +28184,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28287,7 +28287,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -28385,7 +28385,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -28538,7 +28538,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4::IfcDoorTypeEnum::Value PredefinedType() const; @@ -28628,7 +28628,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28649,7 +28649,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28710,7 +28710,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -28827,7 +28827,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -28865,7 +28865,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -28953,7 +28953,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28970,7 +28970,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29005,7 +29005,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29042,7 +29042,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29076,7 +29076,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcEngineTypeEnum::Value v); @@ -29112,7 +29112,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29149,7 +29149,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29237,7 +29237,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -29266,7 +29266,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29298,7 +29298,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29330,7 +29330,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4::IfcClosedShell >::ptr Voids() const; @@ -29349,7 +29349,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -29383,7 +29383,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -29488,7 +29488,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29551,7 +29551,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -29610,7 +29610,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -29641,7 +29641,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29672,7 +29672,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29712,7 +29712,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -29745,7 +29745,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29784,7 +29784,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29799,7 +29799,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29814,7 +29814,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29830,7 +29830,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29847,7 +29847,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: /// Subtype of footing. ::Ifc4::IfcFootingTypeEnum::Value PredefinedType() const; @@ -29962,7 +29962,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30001,7 +30001,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v); @@ -30151,7 +30151,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30258,7 +30258,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcProduct { +class IFC_PARSE_API IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4::IfcGridAxis >::ptr UAxes() const; @@ -30308,7 +30308,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -30346,7 +30346,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -30383,7 +30383,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -30395,7 +30395,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4::IfcCartesianPointList* Points() const; void setPoints(::Ifc4::IfcCartesianPointList* v); @@ -30442,7 +30442,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcInterceptorTypeEnum::Value v); @@ -30453,7 +30453,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30472,7 +30472,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -30529,7 +30529,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -30564,7 +30564,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -30605,7 +30605,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4::IfcLampTypeEnum::Value PredefinedType() const; @@ -30647,7 +30647,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -30687,7 +30687,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -30737,7 +30737,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -30780,7 +30780,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcMedicalDeviceTypeEnum::Value v); @@ -30891,7 +30891,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4::IfcMemberTypeEnum::Value PredefinedType() const; @@ -30929,7 +30929,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -30947,7 +30947,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31162,7 +31162,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -31269,7 +31269,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31306,7 +31306,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4::IfcOutletTypeEnum::Value PredefinedType() const; @@ -31322,7 +31322,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -31369,7 +31369,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -31429,7 +31429,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -31459,7 +31459,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { public: /// Subtype of pile. ::Ifc4::IfcPileTypeEnum::Value PredefinedType() const; @@ -31499,7 +31499,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -31543,7 +31543,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -31631,7 +31631,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4::IfcPlateTypeEnum::Value PredefinedType() const; @@ -31643,7 +31643,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -31671,7 +31671,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Points() const; @@ -31735,7 +31735,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -31850,7 +31850,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -31905,7 +31905,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -32039,7 +32039,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32087,7 +32087,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32126,7 +32126,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32157,7 +32157,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4::IfcRailingTypeEnum::Value PredefinedType() const; @@ -32188,7 +32188,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -32232,7 +32232,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4::IfcRampTypeEnum::Value PredefinedType() const; @@ -32256,7 +32256,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -32275,7 +32275,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -32288,7 +32288,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32320,7 +32320,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -32358,7 +32358,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -32419,7 +32419,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -32469,7 +32469,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4::IfcRoofTypeEnum::Value PredefinedType() const; @@ -32517,7 +32517,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -32529,7 +32529,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32558,7 +32558,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -32758,7 +32758,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -32861,7 +32861,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4::IfcSlabTypeEnum::Value PredefinedType() const; @@ -32898,7 +32898,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcSolarDeviceTypeEnum::Value v); @@ -33158,7 +33158,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -33208,7 +33208,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -33300,7 +33300,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -33339,7 +33339,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -33370,7 +33370,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -33414,7 +33414,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4::IfcStairTypeEnum::Value PredefinedType() const; @@ -33444,7 +33444,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -33458,7 +33458,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4::IfcBoundaryCondition* AppliedCondition() const; @@ -33526,7 +33526,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -33557,7 +33557,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -33607,7 +33607,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -33643,7 +33643,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33701,7 +33701,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -33719,7 +33719,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33760,7 +33760,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -33830,7 +33830,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33851,7 +33851,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -33905,7 +33905,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33917,7 +33917,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -33987,7 +33987,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34013,7 +34013,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34045,7 +34045,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -34089,7 +34089,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -34140,7 +34140,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -34168,7 +34168,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem virtual const IfcParse::entity& declaration() const; @@ -34201,7 +34201,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -34243,7 +34243,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4::IfcTankTypeEnum::Value PredefinedType() const; @@ -34255,7 +34255,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > v); @@ -34280,7 +34280,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v); @@ -34291,7 +34291,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcTendonAnchorTypeEnum::Value v); @@ -34302,7 +34302,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcTendonTypeEnum::Value v); @@ -34345,7 +34345,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -34472,7 +34472,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34563,7 +34563,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4::IfcCurve* BasisCurve() const; @@ -34615,7 +34615,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -34654,7 +34654,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -34703,7 +34703,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4::IfcValveTypeEnum::Value PredefinedType() const; @@ -34748,7 +34748,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v); @@ -34780,7 +34780,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -34877,7 +34877,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34917,7 +34917,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -35012,7 +35012,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4::IfcWallTypeEnum::Value PredefinedType() const; @@ -35059,7 +35059,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -35191,7 +35191,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4::IfcWindowTypeEnum::Value PredefinedType() const; @@ -35222,7 +35222,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -35290,7 +35290,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -35344,7 +35344,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -35396,7 +35396,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -35493,7 +35493,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -35546,7 +35546,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -35599,7 +35599,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -35636,7 +35636,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcAirTerminalTypeEnum::Value v); @@ -35672,7 +35672,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -35707,7 +35707,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -35789,7 +35789,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -35849,7 +35849,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -35889,7 +35889,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -36004,7 +36004,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4::IfcBeamTypeEnum::Value PredefinedType() const; @@ -36044,7 +36044,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -36062,7 +36062,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36433,7 +36433,7 @@ public: /// 'AdvancedBrep' geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcBuildingElement : public IfcElement { +class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36458,7 +36458,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -36473,7 +36473,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -36674,7 +36674,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v); @@ -36718,7 +36718,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc4::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -36765,7 +36765,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -36805,7 +36805,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4::IfcBurnerTypeEnum::Value v); @@ -36841,7 +36841,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -36884,7 +36884,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -36923,7 +36923,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -36975,7 +36975,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37018,7 +37018,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37070,7 +37070,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuildingElement { +class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: /// 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. @@ -37109,7 +37109,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37121,7 +37121,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37156,7 +37156,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4::IfcCoilTypeEnum::Value PredefinedType() const; @@ -37438,7 +37438,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuildingElement { +class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: /// 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. @@ -37697,7 +37697,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37737,7 +37737,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -37775,7 +37775,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -37813,7 +37813,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -37846,7 +37846,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -37884,7 +37884,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -37911,7 +37911,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -37952,7 +37952,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -37996,7 +37996,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38231,7 +38231,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuildingElement { +class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -38382,7 +38382,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: /// 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. @@ -38430,7 +38430,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4::IfcDamperTypeEnum::Value PredefinedType() const; @@ -38614,7 +38614,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -38813,7 +38813,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -38861,7 +38861,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -38926,7 +38926,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39096,7 +39096,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -39173,7 +39173,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -39264,7 +39264,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -39320,7 +39320,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -39692,7 +39692,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuildingElement { +class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -39829,7 +39829,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39866,7 +39866,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -39906,7 +39906,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -39943,7 +39943,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -39983,7 +39983,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40021,7 +40021,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40059,7 +40059,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40102,7 +40102,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -40140,7 +40140,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -40178,7 +40178,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -40198,7 +40198,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40247,7 +40247,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v); @@ -40301,7 +40301,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -40375,7 +40375,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v); @@ -40400,7 +40400,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -40440,7 +40440,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4::IfcFanTypeEnum::Value PredefinedType() const; @@ -40480,7 +40480,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4::IfcFilterTypeEnum::Value PredefinedType() const; @@ -40524,7 +40524,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -40544,7 +40544,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40557,7 +40557,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40595,7 +40595,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -40686,7 +40686,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v); @@ -40701,7 +40701,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40732,7 +40732,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40749,7 +40749,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40768,7 +40768,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40781,7 +40781,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40811,7 +40811,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuildingElement { +class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: /// The generic type of the footing. /// @@ -40874,7 +40874,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v); @@ -40927,7 +40927,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v); @@ -40994,7 +40994,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v); @@ -41070,7 +41070,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v); @@ -41127,7 +41127,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v); @@ -41203,7 +41203,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v); @@ -41257,7 +41257,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v); @@ -41517,7 +41517,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuildingElement { +class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: /// 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. @@ -41770,7 +41770,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41819,7 +41819,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v); @@ -41834,7 +41834,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41908,7 +41908,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v); @@ -41936,7 +41936,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcBuildingElement { +class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: /// The predefined generic type of the pile according to function. /// @@ -42039,7 +42039,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v); @@ -42109,7 +42109,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v); @@ -42347,7 +42347,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuildingElement { +class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: /// 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. @@ -42514,7 +42514,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42598,7 +42598,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v); @@ -42648,7 +42648,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -42708,7 +42708,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v); @@ -42850,7 +42850,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuildingElement { +class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: /// 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. @@ -42996,7 +42996,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuildingElement { +class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -43199,7 +43199,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: /// 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. @@ -43249,7 +43249,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -43288,7 +43288,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -43323,7 +43323,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -43495,7 +43495,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuildingElement { +class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -43634,7 +43634,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v); @@ -43692,7 +43692,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4::IfcSensorTypeEnum::Value PredefinedType() const; @@ -43717,7 +43717,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: /// 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. @@ -43989,7 +43989,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuildingElement { +class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: /// 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. @@ -44086,7 +44086,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -44253,7 +44253,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -44308,7 +44308,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v); @@ -44380,7 +44380,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v); @@ -44440,7 +44440,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v); @@ -44615,7 +44615,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuildingElement { +class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -44795,7 +44795,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -44849,7 +44849,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -44888,7 +44888,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -44910,7 +44910,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45006,7 +45006,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v); @@ -45076,7 +45076,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v); @@ -45128,7 +45128,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v); @@ -45185,7 +45185,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v); @@ -45221,7 +45221,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -45304,7 +45304,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -45500,7 +45500,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v); @@ -45752,7 +45752,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuildingElement { +class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: /// 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. @@ -45864,7 +45864,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46074,7 +46074,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46186,7 +46186,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v); @@ -46554,7 +46554,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuildingElement { +class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -46701,7 +46701,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46740,7 +46740,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -46808,7 +46808,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v); @@ -46860,7 +46860,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v); @@ -46915,7 +46915,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -46951,7 +46951,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -47140,7 +47140,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -47387,7 +47387,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuildingElement { +class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: /// 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. @@ -47652,7 +47652,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47729,7 +47729,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v); @@ -47780,7 +47780,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v); @@ -47851,7 +47851,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -47921,7 +47921,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -48006,7 +48006,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -48104,7 +48104,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -48184,7 +48184,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v); @@ -48260,7 +48260,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v); @@ -48372,7 +48372,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -48428,7 +48428,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v); @@ -48504,7 +48504,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v); @@ -48550,7 +48550,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4::IfcControllerTypeEnum::Value PredefinedType() const; @@ -48610,7 +48610,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v); @@ -48677,7 +48677,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v); @@ -48758,7 +48758,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v); @@ -48799,7 +48799,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v); @@ -48810,7 +48810,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48896,7 +48896,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -48980,7 +48980,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v); @@ -49039,7 +49039,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v); @@ -49091,7 +49091,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v); @@ -49199,7 +49199,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v); @@ -49266,7 +49266,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -49317,7 +49317,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -49374,7 +49374,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v); @@ -49425,7 +49425,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v); @@ -49476,7 +49476,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v); @@ -49540,7 +49540,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v); @@ -49637,7 +49637,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v); @@ -49713,7 +49713,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -49775,7 +49775,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v); @@ -49837,7 +49837,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -49981,7 +49981,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v); @@ -50046,7 +50046,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v); @@ -50118,7 +50118,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v); @@ -50170,7 +50170,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v); @@ -50286,7 +50286,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index 232534bf8f..9ba57e341a 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,36 +125,36 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -163,13 +163,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +177,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +252,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -261,20 +261,20 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -283,11 +283,11 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -295,7 +295,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -306,7 +306,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -329,7 +329,7 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -356,7 +356,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -366,7 +366,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -379,23 +379,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -403,7 +403,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -412,7 +412,7 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -423,9 +423,9 @@ typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -435,13 +435,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -451,13 +451,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -469,7 +469,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -489,7 +489,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -502,7 +502,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -510,7 +510,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -523,7 +523,7 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -534,7 +534,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -544,7 +544,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -555,7 +555,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcStyleAssignmentSelect; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -565,7 +565,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -575,7 +575,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -583,20 +583,20 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -610,7 +610,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -621,7 +621,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -630,11 +630,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7418,7 +7418,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7431,7 +7431,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7447,7 +7447,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7460,7 +7460,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7469,7 +7469,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7478,7 +7478,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7493,7 +7493,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7502,7 +7502,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7515,7 +7515,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcSimpleValue, public IfcTranslationalStiffnessSelect, public IfcValue, public IfcWarpingStiffnessSelect, public IfcRotationalStiffnessSelect, public IfcMetricValueSelect, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcModulusOfTranslationalSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7566,7 +7566,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7585,7 +7585,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7641,7 +7641,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7655,7 +7655,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7669,7 +7669,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7684,7 +7684,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7698,7 +7698,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7724,7 +7724,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7744,7 +7744,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7786,7 +7786,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7800,7 +7800,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7815,7 +7815,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7828,7 +7828,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7841,7 +7841,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcSimpleValue, public IfcValue, public IfcTimeOrRatioSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7855,7 +7855,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7868,7 +7868,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7881,7 +7881,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7894,7 +7894,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7909,7 +7909,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7922,7 +7922,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7935,7 +7935,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7948,7 +7948,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7970,7 +7970,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7990,7 +7990,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8021,7 +8021,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8034,7 +8034,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8047,7 +8047,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8068,7 +8068,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8081,7 +8081,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8092,7 +8092,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8114,7 +8114,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8127,7 +8127,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8140,7 +8140,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8155,7 +8155,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8170,7 +8170,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8181,7 +8181,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8194,7 +8194,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8207,7 +8207,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8229,7 +8229,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8247,7 +8247,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8262,7 +8262,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect, public IfcBendingParameterSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8271,7 +8271,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8284,7 +8284,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8297,7 +8297,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8310,7 +8310,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcTranslationalStiffnessSelect, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8323,7 +8323,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8336,7 +8336,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8349,7 +8349,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8364,7 +8364,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8379,7 +8379,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8392,7 +8392,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8405,7 +8405,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8418,7 +8418,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8431,7 +8431,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8446,7 +8446,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8461,7 +8461,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8474,7 +8474,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8487,7 +8487,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcModulusOfTranslationalSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8500,7 +8500,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcModulusOfRotationalSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8517,7 +8517,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8530,7 +8530,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8543,7 +8543,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8556,7 +8556,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8568,7 +8568,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8632,7 +8632,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8645,7 +8645,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8659,7 +8659,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8670,7 +8670,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8685,7 +8685,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcTrimmingSelect, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8698,7 +8698,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8717,7 +8717,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect, public IfcBendingParameterSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8726,7 +8726,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8740,7 +8740,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue, public IfcHatchLineDistanceSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8754,7 +8754,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8767,7 +8767,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8784,7 +8784,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8797,7 +8797,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8806,7 +8806,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8819,7 +8819,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8837,7 +8837,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcValue, public IfcTimeOrRatioSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8852,7 +8852,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8865,7 +8865,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8879,7 +8879,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8892,7 +8892,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcDerivedMeasureValue, public IfcRotationalStiffnessSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8905,7 +8905,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8918,7 +8918,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8931,7 +8931,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8946,7 +8946,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8955,7 +8955,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8968,7 +8968,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8977,7 +8977,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8990,7 +8990,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9003,7 +9003,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9018,7 +9018,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9035,7 +9035,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9048,7 +9048,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9061,7 +9061,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9080,7 +9080,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9098,7 +9098,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9119,7 +9119,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9146,7 +9146,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9164,7 +9164,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9177,7 +9177,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9190,7 +9190,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9202,7 +9202,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9214,7 +9214,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9227,7 +9227,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9242,7 +9242,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9258,7 +9258,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9273,7 +9273,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9285,7 +9285,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9298,7 +9298,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9313,7 +9313,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9326,7 +9326,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9341,7 +9341,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9354,7 +9354,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9367,7 +9367,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9380,7 +9380,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcValue, public IfcDerivedMeasureValue, public IfcWarpingStiffnessSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9413,7 +9413,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9426,7 +9426,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcColourOrFactor, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9440,7 +9440,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9460,7 +9460,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9487,7 +9487,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Purpose() const; @@ -9512,7 +9512,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x1::IfcOrganization* ApplicationDeveloper() const; @@ -9546,7 +9546,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcResourceObjectSelect, public IfcObjectReferenceSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -9594,7 +9594,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -9655,7 +9655,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -9676,7 +9676,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -9712,7 +9712,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -9739,7 +9739,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x1::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -9774,7 +9774,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4x1::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -9799,7 +9799,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -9823,7 +9823,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -9845,7 +9845,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -9865,7 +9865,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -9891,7 +9891,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -9971,7 +9971,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4x1::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -10007,7 +10007,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10078,7 +10078,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10093,7 +10093,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr Elements() const; @@ -10118,7 +10118,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4x1::IfcNamedUnit* Unit() const; @@ -10149,7 +10149,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10184,7 +10184,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10201,7 +10201,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcLightDistributionDataSourceSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10237,7 +10237,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10252,7 +10252,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10267,7 +10267,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10298,7 +10298,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10322,7 +10322,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10344,7 +10344,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10382,7 +10382,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10419,7 +10419,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10441,7 +10441,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x1::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10466,7 +10466,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -10504,7 +10504,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -10542,7 +10542,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMaterialSelect, public IfcResourceObjectSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -10576,7 +10576,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4x1::IfcMaterial* Material() const; @@ -10647,7 +10647,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -10709,7 +10709,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x1::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -10740,7 +10740,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Materials() const; @@ -10756,7 +10756,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -10788,7 +10788,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -10816,7 +10816,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -10858,7 +10858,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -10877,7 +10877,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4x1::IfcValue* ValueComponent() const; @@ -10943,7 +10943,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x1::IfcBenchmarkEnum::Value Benchmark() const; @@ -10967,7 +10967,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -10983,7 +10983,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x1::IfcDimensionalExponents* Dimensions() const; @@ -11008,7 +11008,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: aggregate_of< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement aggregate_of< IfcLocalPlacement >::ptr ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo @@ -11027,7 +11027,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11054,7 +11054,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11091,7 +11091,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4x1::IfcPersonAndOrganization* OwningUser() const; @@ -11132,7 +11132,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11176,7 +11176,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// The person who is related to the organization. ::Ifc4x1::IfcPerson* ThePerson() const; @@ -11198,7 +11198,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11223,7 +11223,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4x1::IfcNamedUnit* Unit() const; @@ -11237,7 +11237,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11273,7 +11273,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11296,7 +11296,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11329,7 +11329,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11358,7 +11358,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11374,7 +11374,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. aggregate_of_instance::ptr Styles() const; @@ -11402,7 +11402,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -11589,7 +11589,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4x1::IfcProfileTypeEnum::Value ProfileType() const; @@ -11628,7 +11628,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -11653,7 +11653,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -11708,7 +11708,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -11730,7 +11730,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -11751,7 +11751,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -11772,7 +11772,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -11793,7 +11793,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -11814,7 +11814,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -11835,7 +11835,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -11857,7 +11857,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -11903,7 +11903,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -11967,7 +11967,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x1::IfcRepresentationContext* ContextOfItems() const; @@ -12001,7 +12001,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12048,7 +12048,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12069,7 +12069,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12089,7 +12089,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12112,7 +12112,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12143,7 +12143,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4x1::IfcSIPrefix::Value > Prefix() const; @@ -12162,7 +12162,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12217,7 +12217,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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 @@ -12263,7 +12263,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12407,7 +12407,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12418,7 +12418,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12432,7 +12432,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12454,7 +12454,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12471,7 +12471,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12482,7 +12482,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12495,7 +12495,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -12523,7 +12523,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12559,7 +12559,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -12590,7 +12590,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12603,7 +12603,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -12627,7 +12627,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// An indication of which side of the surface to apply the style. ::Ifc4x1::IfcSurfaceSide::Value Side() const; @@ -12652,7 +12652,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -12681,7 +12681,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -12702,7 +12702,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x1::IfcColourRgb* SurfaceColour() const; @@ -12733,7 +12733,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr Textures() const; @@ -12836,7 +12836,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -12887,7 +12887,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -12909,7 +12909,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -12944,7 +12944,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -12966,7 +12966,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13082,7 +13082,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4x1::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4x1::IfcRecurrencePattern* v); @@ -13098,7 +13098,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13155,7 +13155,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// A character style to be used for presented text. ::Ifc4x1::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13197,7 +13197,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x1::IfcColour* Colour() const; @@ -13218,7 +13218,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13265,7 +13265,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v); @@ -13301,7 +13301,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13370,7 +13370,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13412,7 +13412,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13424,7 +13424,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13440,7 +13440,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13459,7 +13459,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcResourceObjectSelect, public IfcObjectReferenceSelect { public: /// An unique name for the time series. std::string Name() const; @@ -13501,7 +13501,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -13517,7 +13517,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13559,7 +13559,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13572,7 +13572,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -13593,7 +13593,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13610,7 +13610,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x1::IfcPoint* VertexGeometry() const; @@ -13680,7 +13680,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr IntersectingAxes() const; @@ -13702,7 +13702,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -13730,7 +13730,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4x1::IfcApproval* RelatingApproval() const; @@ -13762,7 +13762,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x1::IfcCurve* OuterCurve() const; @@ -13788,7 +13788,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4x1::IfcBoundedCurve* Curve() const; @@ -13818,7 +13818,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4x1::IfcCurve >::ptr InnerCurves() const; @@ -13838,7 +13838,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -13881,7 +13881,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -13907,7 +13907,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// Source (or publisher) for this classification. /// @@ -13986,7 +13986,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// The classification system or source that is referenced. ::Ifc4x1::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -14007,7 +14007,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14022,7 +14022,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcColour, public IfcFillStyleSelect { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14072,7 +14072,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Profiles() const; @@ -14095,7 +14095,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4x1::IfcFace >::ptr CfsFaces() const; @@ -14119,7 +14119,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4x1::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14152,7 +14152,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14176,7 +14176,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14235,7 +14235,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14268,7 +14268,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14290,7 +14290,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4x1::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14332,7 +14332,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// 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. ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14356,7 +14356,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14381,7 +14381,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -14403,7 +14403,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -14505,7 +14505,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4x1::IfcProfileDef* ParentProfile() const; @@ -14525,7 +14525,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -14609,7 +14609,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x1::IfcDocumentInformation* RelatingDocument() const; @@ -14637,7 +14637,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -14703,7 +14703,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4x1::IfcVertex* EdgeStart() const; @@ -14750,7 +14750,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4x1::IfcCurve* EdgeGeometry() const; @@ -14787,7 +14787,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -14810,7 +14810,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -14831,7 +14831,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -14891,7 +14891,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr Bounds() const; @@ -14908,7 +14908,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4x1::IfcLoop* Bound() const; @@ -14927,7 +14927,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14971,7 +14971,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4x1::IfcSurface* FaceSurface() const; @@ -14992,7 +14992,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15052,7 +15052,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15112,7 +15112,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15155,7 +15155,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15176,7 +15176,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x1::IfcGeometricRepresentationContext* ParentContext() const; @@ -15213,7 +15213,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15269,7 +15269,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x1::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15300,7 +15300,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4x1::IfcSurface* BaseSurface() const; @@ -15349,7 +15349,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15361,7 +15361,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x1::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v); @@ -15378,7 +15378,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4x1::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v); @@ -15391,7 +15391,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -15406,7 +15406,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4x1::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15454,7 +15454,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -15477,7 +15477,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -15505,7 +15505,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15522,7 +15522,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15541,7 +15541,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x1::IfcAxis2Placement3D* Position() const; @@ -15582,7 +15582,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15622,7 +15622,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -15646,7 +15646,7 @@ public: typedef aggregate_of< IfcLightSourceSpot > list; }; -class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x1::IfcCurve* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x1::IfcCurve* v); @@ -15714,7 +15714,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4x1::IfcObjectPlacement* PlacementRelTo() const; @@ -15754,7 +15754,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15781,7 +15781,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x1::IfcRepresentationMap* MappingSource() const; @@ -15822,7 +15822,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -15857,7 +15857,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -15895,7 +15895,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -15942,7 +15942,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4x1::IfcMaterial* RepresentedMaterial() const; @@ -16053,7 +16053,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x1::IfcMaterialLayerSet* ForLayerSet() const; @@ -16095,7 +16095,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x1::IfcMaterialProfileSet* ForProfileSet() const; @@ -16142,7 +16142,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x1::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16178,7 +16178,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16194,7 +16194,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4x1::IfcMaterial* RelatingMaterial() const; @@ -16238,7 +16238,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16296,7 +16296,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16370,7 +16370,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16384,7 +16384,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4x1::IfcOrganization* RelatingOrganization() const; @@ -16399,7 +16399,7 @@ public: typedef aggregate_of< IfcOrganizationRelationship > list; }; -class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { public: ::Ifc4x1::IfcDirection* LateralAxisDirection() const; void setLateralAxisDirection(::Ifc4x1::IfcDirection* v); @@ -16418,7 +16418,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4x1::IfcEdge* EdgeElement() const; @@ -16474,7 +16474,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x1::IfcAxis2Placement2D* Position() const; @@ -16499,7 +16499,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr EdgeList() const; @@ -16519,7 +16519,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -16557,7 +16557,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -16588,7 +16588,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x1::IfcCartesianPoint* Location() const; @@ -16604,7 +16604,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -16623,7 +16623,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect, public IfcPointOrVertexPoint { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16640,7 +16640,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4x1::IfcCurve* BasisCurve() const; @@ -16663,7 +16663,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4x1::IfcSurface* BasisSurface() const; @@ -16719,7 +16719,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Polygon() const; @@ -16786,7 +16786,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x1::IfcAxis2Placement3D* Position() const; @@ -16809,7 +16809,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -16821,7 +16821,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16840,7 +16840,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16860,7 +16860,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -16881,7 +16881,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4x1::IfcProfileDef* ProfileDefinition() const; @@ -16895,7 +16895,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -16965,7 +16965,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -16983,7 +16983,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4x1::IfcProperty* DependingProperty() const; @@ -17042,7 +17042,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17078,7 +17078,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17087,7 +17087,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17129,7 +17129,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17148,7 +17148,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17167,7 +17167,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17201,7 +17201,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17215,7 +17215,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17249,7 +17249,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4x1::IfcConstraint* RelatingConstraint() const; @@ -17265,7 +17265,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -17355,7 +17355,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -17371,7 +17371,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x1::IfcSectionTypeEnum::Value SectionType() const; @@ -17395,7 +17395,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -17474,7 +17474,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x1::IfcCompositeCurve* SpineCurve() const; @@ -17503,7 +17503,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -17516,7 +17516,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17533,7 +17533,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -17555,7 +17555,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17568,7 +17568,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -17599,7 +17599,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -17621,7 +17621,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -17650,7 +17650,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -17667,7 +17667,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -17701,7 +17701,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -17722,7 +17722,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x1::IfcEdge* ParentEdge() const; @@ -17743,7 +17743,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect, public IfcSurfaceOrFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17796,7 +17796,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -17853,7 +17853,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x1::IfcProfileDef* SweptArea() const; @@ -17920,7 +17920,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x1::IfcCurve* Directrix() const; @@ -17957,7 +17957,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -17973,7 +17973,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4x1::IfcProfileDef* SweptCurve() const; @@ -18015,7 +18015,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18051,7 +18051,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18069,7 +18069,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18096,7 +18096,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4x1::IfcPlanarExtent* Extent() const; @@ -18175,7 +18175,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18239,7 +18239,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18290,7 +18290,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -18341,7 +18341,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -18427,7 +18427,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -18454,7 +18454,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -18502,7 +18502,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18538,7 +18538,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcVectorOrDirection, public IfcHatchLineDistanceSelect { public: /// The direction of the vector. ::Ifc4x1::IfcDirection* Orientation() const; @@ -18564,7 +18564,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4x1::IfcVertex* LoopVertex() const; @@ -18593,7 +18593,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4x1::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -18638,7 +18638,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -18677,7 +18677,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18686,7 +18686,7 @@ public: typedef aggregate_of< IfcAdvancedFace > list; }; -class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { public: boost::optional< double > StartDistAlong() const; void setStartDistAlong(boost::optional< double > v); @@ -18700,7 +18700,7 @@ public: typedef aggregate_of< IfcAlignment2DHorizontal > list; }; -class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { public: boost::optional< bool > TangentialContinuity() const; void setTangentialContinuity(boost::optional< bool > v); @@ -18715,7 +18715,7 @@ public: typedef aggregate_of< IfcAlignment2DSegment > list; }; -class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { public: aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr Segments() const; void setSegments(aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr v); @@ -18727,7 +18727,7 @@ public: typedef aggregate_of< IfcAlignment2DVertical > list; }; -class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -18764,7 +18764,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -18819,7 +18819,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -18863,7 +18863,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4x1::IfcDirection* Axis() const; @@ -18885,7 +18885,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4x1::IfcDirection* RefDirection() const; @@ -18909,7 +18909,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4x1::IfcDirection* Axis() const; @@ -18949,7 +18949,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The Boolean operator used in the operation to create the result. ::Ifc4x1::IfcBooleanOperator::Value Operator() const; @@ -18978,7 +18978,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19008,7 +19008,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4x1::IfcCartesianPoint* Corner() const; @@ -19058,7 +19058,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x1::IfcBoundingBox* Enclosure() const; @@ -19091,7 +19091,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -19121,7 +19121,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19133,7 +19133,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19142,7 +19142,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19155,7 +19155,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19197,7 +19197,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x1::IfcDirection* Axis1() const; @@ -19222,7 +19222,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19240,7 +19240,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19256,7 +19256,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x1::IfcDirection* Axis3() const; @@ -19278,7 +19278,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19304,7 +19304,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19364,7 +19364,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcShell, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19380,7 +19380,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -19408,7 +19408,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -19430,7 +19430,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x1::IfcTransitionCode::Value Transition() const; @@ -19465,7 +19465,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v); @@ -19490,7 +19490,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -19529,7 +19529,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4x1::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -19545,7 +19545,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x1::IfcAxis2Placement3D* Position() const; @@ -19597,7 +19597,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4x1::IfcCsgSelect* TreeRootExpression() const; @@ -19618,7 +19618,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19639,7 +19639,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4x1::IfcPlane* BasisSurface() const; @@ -19677,7 +19677,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4x1::IfcSurface* BasisSurface() const; @@ -19700,7 +19700,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcGridPlacementDirectionSelect, public IfcVectorOrDirection { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -19712,7 +19712,7 @@ public: typedef aggregate_of< IfcDirection > list; }; -class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { public: double DistanceAlong() const; void setDistanceAlong(double v); @@ -19756,7 +19756,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4x1::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -19787,7 +19787,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr EdgeList() const; @@ -19875,7 +19875,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -19913,7 +19913,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -19929,7 +19929,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x1::IfcAxis2Placement3D* Position() const; @@ -19956,7 +19956,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -19976,7 +19976,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -20065,7 +20065,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x1::IfcDirection* ExtrudedDirection() const; @@ -20178,7 +20178,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x1::IfcProfileDef* EndSweptArea() const; @@ -20201,7 +20201,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20259,7 +20259,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x1::IfcCurveStyle* HatchLineAppearance() const; @@ -20295,7 +20295,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4x1::IfcVector >::ptr TilingPattern() const; @@ -20370,7 +20370,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x1::IfcCurve* Directrix() const; @@ -20418,7 +20418,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20463,7 +20463,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -20537,7 +20537,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -20555,7 +20555,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20626,7 +20626,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -20654,7 +20654,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -20666,7 +20666,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -20727,7 +20727,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -20764,7 +20764,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4x1::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -20788,7 +20788,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4x1::IfcCartesianPoint* Pnt() const; @@ -20865,7 +20865,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x1::IfcClosedShell* Outer() const; @@ -20958,7 +20958,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -20974,7 +20974,7 @@ public: typedef aggregate_of< IfcObject > list; }; -class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: ::Ifc4x1::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x1::IfcCurve* v); @@ -20995,7 +20995,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -21024,7 +21024,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -21042,7 +21042,7 @@ public: typedef aggregate_of< IfcOffsetCurve3D > list; }; -class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr OffsetValues() const; void setOffsetValues(aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v); @@ -21061,7 +21061,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x1::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x1::IfcSurface* v); @@ -21079,7 +21079,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -21127,7 +21127,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21140,7 +21140,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcColour, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21155,7 +21155,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21183,7 +21183,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21204,7 +21204,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21256,7 +21256,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -21369,7 +21369,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcProductSelect { public: /// 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. ::Ifc4x1::IfcObjectPlacement* ObjectPlacement() const; @@ -21428,7 +21428,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21460,7 +21460,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21572,7 +21572,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4x1::IfcValue* UpperBoundValue() const; @@ -21671,7 +21671,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -21752,7 +21752,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -21783,7 +21783,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -21852,7 +21852,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x1::IfcProperty >::ptr HasProperties() const; @@ -21894,7 +21894,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -21966,7 +21966,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -22100,7 +22100,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -22156,7 +22156,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22182,7 +22182,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4x1::IfcObjectTypeEnum::Value ProxyType() const; @@ -22216,7 +22216,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22321,7 +22321,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22353,7 +22353,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4x1::IfcSurface* BasisSurface() const; @@ -22408,7 +22408,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -22433,7 +22433,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -22457,7 +22457,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x1::IfcActor* RelatingActor() const; @@ -22476,7 +22476,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x1::IfcControl* RelatingControl() const; @@ -22500,7 +22500,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4x1::IfcGroup* RelatingGroup() const; @@ -22520,7 +22520,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -22553,7 +22553,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -22577,7 +22577,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -22596,7 +22596,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -22650,7 +22650,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -22666,7 +22666,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4x1::IfcApproval* RelatingApproval() const; @@ -22707,7 +22707,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4x1::IfcClassificationSelect* RelatingClassification() const; @@ -22721,7 +22721,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -22742,7 +22742,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4x1::IfcDocumentSelect* RelatingDocument() const; @@ -22760,7 +22760,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x1::IfcLibrarySelect* RelatingLibrary() const; @@ -22865,7 +22865,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4x1::IfcMaterialSelect* RelatingMaterial() const; @@ -22879,7 +22879,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22909,7 +22909,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4x1::IfcConnectionGeometry* ConnectionGeometry() const; @@ -22956,7 +22956,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23001,7 +23001,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x1::IfcPort* RelatingPort() const; @@ -23030,7 +23030,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x1::IfcPort* RelatingPort() const; @@ -23050,7 +23050,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x1::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -23088,7 +23088,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x1::IfcStructuralMember* RelatingStructuralMember() const; @@ -23131,7 +23131,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4x1::IfcConnectionGeometry* ConnectionConstraint() const; @@ -23165,7 +23165,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4x1::IfcElement >::ptr RealizingElements() const; @@ -23239,7 +23239,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23271,7 +23271,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23313,7 +23313,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -23340,7 +23340,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x1::IfcContext* RelatingContext() const; @@ -23384,7 +23384,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23419,7 +23419,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23442,7 +23442,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4x1::IfcObject >::ptr RelatedObjects() const; @@ -23471,7 +23471,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -23497,7 +23497,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -23580,7 +23580,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4x1::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObject >::ptr v); @@ -23602,7 +23602,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4x1::IfcOpeningElement* RelatingOpeningElement() const; @@ -23625,7 +23625,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -23686,7 +23686,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4x1::IfcElement* RelatingElement() const; @@ -23734,7 +23734,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -23784,7 +23784,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x1::IfcElement* RelatingElement() const; @@ -23847,7 +23847,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -23918,7 +23918,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4x1::IfcProcess* RelatingProcess() const; @@ -23972,7 +23972,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4x1::IfcSystem* RelatingSystem() const; @@ -24152,7 +24152,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4x1::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24228,7 +24228,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x1::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24272,7 +24272,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x1::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24291,7 +24291,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4x1::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x1::IfcElement* v); @@ -24326,7 +24326,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -24349,7 +24349,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -24445,7 +24445,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4x1::IfcAxis1Placement* Axis() const; @@ -24517,7 +24517,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4x1::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4x1::IfcProfileDef* v); @@ -24592,7 +24592,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -24687,7 +24687,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -24702,7 +24702,7 @@ public: typedef aggregate_of< IfcRightCircularCylinder > list; }; -class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x1::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x1::IfcCurve* v); @@ -24715,7 +24715,7 @@ public: typedef aggregate_of< IfcSectionedSolid > list; }; -class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { +class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr CrossSectionPositions() const; void setCrossSectionPositions(aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v); @@ -24772,7 +24772,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -24858,7 +24858,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -24905,7 +24905,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -24990,7 +24990,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -25038,7 +25038,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25095,7 +25095,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -25136,7 +25136,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25199,7 +25199,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25211,7 +25211,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -25314,7 +25314,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -25434,7 +25434,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -25447,7 +25447,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -25476,7 +25476,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25504,7 +25504,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -25536,7 +25536,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25566,7 +25566,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -25588,7 +25588,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4x1::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -25600,7 +25600,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x1::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x1::IfcCurve* v); @@ -25676,7 +25676,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x1::IfcCurve* Directrix() const; @@ -25713,7 +25713,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4x1::IfcDirection* ExtrudedDirection() const; @@ -25744,7 +25744,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x1::IfcAxis1Placement* AxisPosition() const; @@ -25785,7 +25785,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -26040,7 +26040,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -26127,7 +26127,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -26143,7 +26143,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4x1::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x1::IfcCartesianPointList3D* v); @@ -26156,7 +26156,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26231,7 +26231,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcTransportElementTypeEnum::Value PredefinedType() const; @@ -26243,7 +26243,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26260,7 +26260,7 @@ public: typedef aggregate_of< IfcTriangulatedFaceSet > list; }; -class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { +class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: std::vector< int > /*[1:?]*/ Flags() const; void setFlags(std::vector< int > /*[1:?]*/ v); @@ -26368,7 +26368,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -26465,7 +26465,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x1::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -26505,7 +26505,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4x1::IfcActorSelect* TheActor() const; @@ -26550,7 +26550,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26579,7 +26579,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v); @@ -26590,7 +26590,7 @@ public: typedef aggregate_of< IfcAdvancedBrepWithVoids > list; }; -class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { public: ::Ifc4x1::IfcCurveSegment2D* CurveGeometry() const; void setCurveGeometry(::Ifc4x1::IfcCurveSegment2D* v); @@ -26602,7 +26602,7 @@ public: typedef aggregate_of< IfcAlignment2DHorizontalSegment > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { public: double Radius() const; void setRadius(double v); @@ -26615,7 +26615,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegCircularArc > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26624,7 +26624,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegLine > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { public: double ParabolaConstant() const; void setParabolaConstant(double v); @@ -26809,7 +26809,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; @@ -26887,7 +26887,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -26923,7 +26923,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -27043,7 +27043,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27067,7 +27067,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27085,7 +27085,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27267,7 +27267,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -27313,7 +27313,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { +class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27498,7 +27498,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -27534,7 +27534,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x1::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -27563,7 +27563,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -27575,7 +27575,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27681,7 +27681,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x1::IfcColumnTypeEnum::Value PredefinedType() const; @@ -27700,7 +27700,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -27781,7 +27781,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr Segments() const; @@ -27806,7 +27806,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27819,7 +27819,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4x1::IfcAxis2Placement* Position() const; @@ -27843,7 +27843,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -27867,7 +27867,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -27891,7 +27891,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -27974,7 +27974,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4x1::IfcResourceTime* Usage() const; void setUsage(::Ifc4x1::IfcResourceTime* v); @@ -27998,7 +27998,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -28049,7 +28049,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -28099,7 +28099,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -28210,7 +28210,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -28231,7 +28231,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -28264,7 +28264,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x1::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28276,7 +28276,7 @@ public: typedef aggregate_of< IfcCurtainWallType > list; }; -class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { +class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: ::Ifc4x1::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x1::IfcCartesianPoint* v); @@ -28344,7 +28344,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28383,7 +28383,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28456,7 +28456,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28559,7 +28559,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -28657,7 +28657,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -28810,7 +28810,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x1::IfcDoorTypeEnum::Value PredefinedType() const; @@ -28900,7 +28900,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28921,7 +28921,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28982,7 +28982,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -29099,7 +29099,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -29137,7 +29137,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -29225,7 +29225,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29242,7 +29242,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29277,7 +29277,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29314,7 +29314,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29348,7 +29348,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4x1::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcEngineTypeEnum::Value v); @@ -29384,7 +29384,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29421,7 +29421,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4x1::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29509,7 +29509,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -29538,7 +29538,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29570,7 +29570,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29602,7 +29602,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr Voids() const; @@ -29621,7 +29621,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -29655,7 +29655,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4x1::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -29760,7 +29760,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29823,7 +29823,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -29882,7 +29882,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -29913,7 +29913,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29944,7 +29944,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29984,7 +29984,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4x1::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -30017,7 +30017,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30056,7 +30056,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30071,7 +30071,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30086,7 +30086,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30102,7 +30102,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30119,7 +30119,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: /// Subtype of footing. ::Ifc4x1::IfcFootingTypeEnum::Value PredefinedType() const; @@ -30234,7 +30234,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30273,7 +30273,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v); @@ -30423,7 +30423,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30464,7 +30464,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -30502,7 +30502,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x1::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -30539,7 +30539,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4x1::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -30551,7 +30551,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x1::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x1::IfcCartesianPointList* v); @@ -30598,7 +30598,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x1::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcInterceptorTypeEnum::Value v); @@ -30609,7 +30609,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30628,7 +30628,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -30685,7 +30685,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x1::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -30720,7 +30720,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -30761,7 +30761,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x1::IfcLampTypeEnum::Value PredefinedType() const; @@ -30803,7 +30803,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x1::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -30815,7 +30815,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30852,7 +30852,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -30902,7 +30902,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -30945,7 +30945,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v); @@ -31056,7 +31056,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x1::IfcMemberTypeEnum::Value PredefinedType() const; @@ -31094,7 +31094,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x1::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -31112,7 +31112,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31327,7 +31327,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -31434,7 +31434,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31471,7 +31471,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x1::IfcOutletTypeEnum::Value PredefinedType() const; @@ -31487,7 +31487,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -31534,7 +31534,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -31594,7 +31594,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -31624,7 +31624,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { public: /// Subtype of pile. ::Ifc4x1::IfcPileTypeEnum::Value PredefinedType() const; @@ -31664,7 +31664,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4x1::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -31708,7 +31708,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4x1::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -31796,7 +31796,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x1::IfcPlateTypeEnum::Value PredefinedType() const; @@ -31808,7 +31808,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -31836,7 +31836,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Points() const; @@ -31900,7 +31900,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -31912,7 +31912,7 @@ public: typedef aggregate_of< IfcPort > list; }; -class IFC_PARSE_API IfcPositioningElement : public IfcProduct { +class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; @@ -32025,7 +32025,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -32080,7 +32080,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -32214,7 +32214,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32262,7 +32262,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32301,7 +32301,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4x1::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32332,7 +32332,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x1::IfcRailingTypeEnum::Value PredefinedType() const; @@ -32363,7 +32363,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x1::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -32407,7 +32407,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x1::IfcRampTypeEnum::Value PredefinedType() const; @@ -32431,7 +32431,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -32443,7 +32443,7 @@ public: typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; -class IFC_PARSE_API IfcReferent : public IfcPositioningElement { +class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v); @@ -32463,7 +32463,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -32476,7 +32476,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32508,7 +32508,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -32546,7 +32546,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -32607,7 +32607,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -32657,7 +32657,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x1::IfcRoofTypeEnum::Value PredefinedType() const; @@ -32705,7 +32705,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -32717,7 +32717,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32746,7 +32746,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x1::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -32946,7 +32946,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -33049,7 +33049,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x1::IfcSlabTypeEnum::Value PredefinedType() const; @@ -33086,7 +33086,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4x1::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcSolarDeviceTypeEnum::Value v); @@ -33346,7 +33346,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -33396,7 +33396,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -33488,7 +33488,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -33527,7 +33527,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x1::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -33558,7 +33558,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x1::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -33602,7 +33602,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x1::IfcStairTypeEnum::Value PredefinedType() const; @@ -33632,7 +33632,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -33646,7 +33646,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4x1::IfcBoundaryCondition* AppliedCondition() const; @@ -33714,7 +33714,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -33745,7 +33745,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -33795,7 +33795,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -33831,7 +33831,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33889,7 +33889,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -33907,7 +33907,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33948,7 +33948,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4x1::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -34018,7 +34018,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34039,7 +34039,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4x1::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -34093,7 +34093,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34105,7 +34105,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -34175,7 +34175,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34201,7 +34201,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34233,7 +34233,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -34277,7 +34277,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -34328,7 +34328,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -34356,7 +34356,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem virtual const IfcParse::entity& declaration() const; @@ -34389,7 +34389,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -34431,7 +34431,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4x1::IfcTankTypeEnum::Value PredefinedType() const; @@ -34443,7 +34443,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v); @@ -34468,7 +34468,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v); @@ -34479,7 +34479,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4x1::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcTendonAnchorTypeEnum::Value v); @@ -34490,7 +34490,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x1::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcTendonTypeEnum::Value v); @@ -34533,7 +34533,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x1::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -34545,7 +34545,7 @@ public: typedef aggregate_of< IfcTransformerType > list; }; -class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: boost::optional< double > StartRadius() const; void setStartRadius(boost::optional< double > v); @@ -34679,7 +34679,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34770,7 +34770,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4x1::IfcCurve* BasisCurve() const; @@ -34822,7 +34822,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4x1::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -34861,7 +34861,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -34910,7 +34910,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4x1::IfcValveTypeEnum::Value PredefinedType() const; @@ -34955,7 +34955,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v); @@ -34987,7 +34987,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -35084,7 +35084,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35124,7 +35124,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -35219,7 +35219,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x1::IfcWallTypeEnum::Value PredefinedType() const; @@ -35266,7 +35266,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x1::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -35398,7 +35398,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x1::IfcWindowTypeEnum::Value PredefinedType() const; @@ -35429,7 +35429,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -35497,7 +35497,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -35551,7 +35551,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -35603,7 +35603,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -35700,7 +35700,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -35753,7 +35753,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -35806,7 +35806,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -35843,7 +35843,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4x1::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcAirTerminalTypeEnum::Value v); @@ -35879,7 +35879,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -35891,7 +35891,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: ::Ifc4x1::IfcAlignment2DHorizontal* Horizontal() const; void setHorizontal(::Ifc4x1::IfcAlignment2DHorizontal* v); @@ -35929,7 +35929,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -36011,7 +36011,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -36071,7 +36071,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -36111,7 +36111,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -36226,7 +36226,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x1::IfcBeamTypeEnum::Value PredefinedType() const; @@ -36266,7 +36266,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4x1::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -36284,7 +36284,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36655,7 +36655,7 @@ public: /// 'AdvancedBrep' geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcBuildingElement : public IfcElement { +class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36680,7 +36680,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -36695,7 +36695,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -36896,7 +36896,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v); @@ -36940,7 +36940,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -36987,7 +36987,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -37027,7 +37027,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4x1::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x1::IfcBurnerTypeEnum::Value v); @@ -37063,7 +37063,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -37106,7 +37106,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -37145,7 +37145,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x1::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -37197,7 +37197,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x1::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37240,7 +37240,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x1::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37292,7 +37292,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuildingElement { +class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: /// 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. @@ -37331,7 +37331,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37343,7 +37343,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: double Radius() const; void setRadius(double v); @@ -37356,7 +37356,7 @@ public: typedef aggregate_of< IfcCircularArcSegment2D > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37391,7 +37391,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x1::IfcCoilTypeEnum::Value PredefinedType() const; @@ -37673,7 +37673,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuildingElement { +class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: /// 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. @@ -37932,7 +37932,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37972,7 +37972,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -38010,7 +38010,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x1::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -38048,7 +38048,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4x1::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -38081,7 +38081,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -38119,7 +38119,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -38146,7 +38146,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -38187,7 +38187,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4x1::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -38231,7 +38231,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x1::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38466,7 +38466,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuildingElement { +class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -38617,7 +38617,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: /// 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. @@ -38665,7 +38665,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4x1::IfcDamperTypeEnum::Value PredefinedType() const; @@ -38849,7 +38849,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -39048,7 +39048,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -39096,7 +39096,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -39161,7 +39161,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39331,7 +39331,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -39408,7 +39408,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -39499,7 +39499,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -39555,7 +39555,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -39927,7 +39927,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuildingElement { +class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -40064,7 +40064,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40101,7 +40101,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4x1::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -40141,7 +40141,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4x1::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -40178,7 +40178,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4x1::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -40218,7 +40218,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x1::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40256,7 +40256,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40294,7 +40294,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40337,7 +40337,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -40375,7 +40375,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x1::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -40413,7 +40413,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -40433,7 +40433,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40482,7 +40482,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v); @@ -40536,7 +40536,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -40610,7 +40610,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v); @@ -40635,7 +40635,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -40675,7 +40675,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4x1::IfcFanTypeEnum::Value PredefinedType() const; @@ -40715,7 +40715,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4x1::IfcFilterTypeEnum::Value PredefinedType() const; @@ -40759,7 +40759,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -40779,7 +40779,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40792,7 +40792,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40830,7 +40830,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -40921,7 +40921,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v); @@ -40936,7 +40936,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40967,7 +40967,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40984,7 +40984,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41003,7 +41003,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41016,7 +41016,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41046,7 +41046,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuildingElement { +class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: /// The generic type of the footing. /// @@ -41155,7 +41155,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcPositioningElement { +class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr UAxes() const; @@ -41224,7 +41224,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v); @@ -41277,7 +41277,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v); @@ -41344,7 +41344,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v); @@ -41420,7 +41420,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v); @@ -41477,7 +41477,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v); @@ -41553,7 +41553,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v); @@ -41564,7 +41564,7 @@ public: typedef aggregate_of< IfcLightFixture > list; }; -class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { +class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: ::Ifc4x1::IfcCurve* Axis() const; void setAxis(::Ifc4x1::IfcCurve* v); @@ -41618,7 +41618,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v); @@ -41878,7 +41878,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuildingElement { +class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: /// 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. @@ -42131,7 +42131,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42180,7 +42180,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v); @@ -42195,7 +42195,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42269,7 +42269,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v); @@ -42297,7 +42297,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcBuildingElement { +class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: /// The predefined generic type of the pile according to function. /// @@ -42400,7 +42400,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v); @@ -42470,7 +42470,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v); @@ -42708,7 +42708,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuildingElement { +class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: /// 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. @@ -42875,7 +42875,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42959,7 +42959,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v); @@ -43009,7 +43009,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -43069,7 +43069,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v); @@ -43211,7 +43211,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuildingElement { +class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: /// 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. @@ -43357,7 +43357,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuildingElement { +class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -43560,7 +43560,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: /// 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. @@ -43610,7 +43610,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -43649,7 +43649,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -43684,7 +43684,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4x1::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -43856,7 +43856,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuildingElement { +class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -43995,7 +43995,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v); @@ -44053,7 +44053,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x1::IfcSensorTypeEnum::Value PredefinedType() const; @@ -44078,7 +44078,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: /// 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. @@ -44350,7 +44350,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuildingElement { +class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: /// 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. @@ -44447,7 +44447,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -44614,7 +44614,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -44669,7 +44669,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v); @@ -44741,7 +44741,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v); @@ -44801,7 +44801,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v); @@ -44976,7 +44976,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuildingElement { +class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -45156,7 +45156,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -45210,7 +45210,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4x1::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -45249,7 +45249,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -45271,7 +45271,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45367,7 +45367,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v); @@ -45437,7 +45437,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v); @@ -45489,7 +45489,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v); @@ -45546,7 +45546,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v); @@ -45582,7 +45582,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -45665,7 +45665,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -45861,7 +45861,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v); @@ -46113,7 +46113,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuildingElement { +class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: /// 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. @@ -46225,7 +46225,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46435,7 +46435,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46547,7 +46547,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v); @@ -46915,7 +46915,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuildingElement { +class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -47062,7 +47062,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47101,7 +47101,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x1::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -47169,7 +47169,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v); @@ -47221,7 +47221,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v); @@ -47276,7 +47276,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -47312,7 +47312,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x1::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -47324,7 +47324,7 @@ public: typedef aggregate_of< IfcAlarmType > list; }; -class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { +class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v); @@ -47512,7 +47512,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -47759,7 +47759,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuildingElement { +class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: /// 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. @@ -48024,7 +48024,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48101,7 +48101,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v); @@ -48152,7 +48152,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v); @@ -48223,7 +48223,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -48293,7 +48293,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -48378,7 +48378,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -48476,7 +48476,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -48556,7 +48556,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v); @@ -48632,7 +48632,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v); @@ -48744,7 +48744,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -48800,7 +48800,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v); @@ -48876,7 +48876,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v); @@ -48922,7 +48922,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x1::IfcControllerTypeEnum::Value PredefinedType() const; @@ -48982,7 +48982,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v); @@ -49049,7 +49049,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v); @@ -49130,7 +49130,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v); @@ -49171,7 +49171,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v); @@ -49182,7 +49182,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -49268,7 +49268,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -49352,7 +49352,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v); @@ -49411,7 +49411,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v); @@ -49463,7 +49463,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v); @@ -49571,7 +49571,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v); @@ -49638,7 +49638,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -49689,7 +49689,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -49746,7 +49746,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v); @@ -49797,7 +49797,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v); @@ -49848,7 +49848,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v); @@ -49912,7 +49912,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v); @@ -50009,7 +50009,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v); @@ -50085,7 +50085,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -50147,7 +50147,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v); @@ -50209,7 +50209,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -50353,7 +50353,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v); @@ -50418,7 +50418,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v); @@ -50490,7 +50490,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v); @@ -50542,7 +50542,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v); @@ -50658,7 +50658,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index bd2abea9c3..721ba80428 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,36 +125,36 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -163,13 +163,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +177,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +252,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -261,20 +261,20 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -283,11 +283,11 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -295,7 +295,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -306,7 +306,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -329,7 +329,7 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -356,7 +356,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -366,7 +366,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -379,23 +379,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -403,7 +403,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -412,7 +412,7 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -423,9 +423,9 @@ typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -435,13 +435,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -451,13 +451,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -469,7 +469,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -489,7 +489,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -502,7 +502,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -510,7 +510,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -523,7 +523,7 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -534,7 +534,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -544,7 +544,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -555,7 +555,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcStyleAssignmentSelect; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -565,7 +565,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -575,7 +575,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -583,20 +583,20 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -610,7 +610,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -621,7 +621,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -630,11 +630,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7516,7 +7516,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7529,7 +7529,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7545,7 +7545,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7558,7 +7558,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7567,7 +7567,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7576,7 +7576,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7591,7 +7591,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7600,7 +7600,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7613,7 +7613,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcWarpingStiffnessSelect, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcModulusOfSubgradeReactionSelect, public IfcRotationalStiffnessSelect, public IfcMetricValueSelect, public IfcTranslationalStiffnessSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7664,7 +7664,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7683,7 +7683,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7739,7 +7739,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7753,7 +7753,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7767,7 +7767,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7782,7 +7782,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7796,7 +7796,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7822,7 +7822,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7842,7 +7842,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7884,7 +7884,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7898,7 +7898,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7913,7 +7913,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7926,7 +7926,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7939,7 +7939,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcSimpleValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7953,7 +7953,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7966,7 +7966,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7979,7 +7979,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7992,7 +7992,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8007,7 +8007,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8020,7 +8020,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8033,7 +8033,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8046,7 +8046,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8068,7 +8068,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8088,7 +8088,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8119,7 +8119,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8132,7 +8132,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8145,7 +8145,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8166,7 +8166,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8179,7 +8179,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8190,7 +8190,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8212,7 +8212,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8225,7 +8225,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8238,7 +8238,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8253,7 +8253,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8268,7 +8268,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8279,7 +8279,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8292,7 +8292,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8305,7 +8305,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8327,7 +8327,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8345,7 +8345,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8360,7 +8360,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcBendingParameterSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8369,7 +8369,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8382,7 +8382,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8395,7 +8395,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8408,7 +8408,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcTranslationalStiffnessSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8421,7 +8421,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8434,7 +8434,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8447,7 +8447,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8462,7 +8462,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8477,7 +8477,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8490,7 +8490,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8503,7 +8503,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8516,7 +8516,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8529,7 +8529,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8544,7 +8544,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8559,7 +8559,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8572,7 +8572,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8585,7 +8585,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8598,7 +8598,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8615,7 +8615,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8628,7 +8628,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8641,7 +8641,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8654,7 +8654,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8666,7 +8666,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8730,7 +8730,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8743,7 +8743,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8757,7 +8757,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8768,7 +8768,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8783,7 +8783,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcTrimmingSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8796,7 +8796,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8815,7 +8815,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcBendingParameterSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8824,7 +8824,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8838,7 +8838,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcHatchLineDistanceSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8852,7 +8852,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8865,7 +8865,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8882,7 +8882,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8895,7 +8895,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8904,7 +8904,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8917,7 +8917,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8935,7 +8935,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8950,7 +8950,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8963,7 +8963,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8977,7 +8977,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8990,7 +8990,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcRotationalStiffnessSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9003,7 +9003,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9016,7 +9016,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9029,7 +9029,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9044,7 +9044,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9053,7 +9053,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9066,7 +9066,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9075,7 +9075,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9088,7 +9088,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9101,7 +9101,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9116,7 +9116,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9133,7 +9133,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9146,7 +9146,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9159,7 +9159,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9178,7 +9178,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9196,7 +9196,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9217,7 +9217,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9244,7 +9244,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9262,7 +9262,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9275,7 +9275,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9288,7 +9288,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9300,7 +9300,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9312,7 +9312,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9325,7 +9325,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9340,7 +9340,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9356,7 +9356,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9371,7 +9371,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9383,7 +9383,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9396,7 +9396,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9411,7 +9411,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9424,7 +9424,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9439,7 +9439,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9452,7 +9452,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9465,7 +9465,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9478,7 +9478,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcWarpingStiffnessSelect, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcValue, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9511,7 +9511,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9524,7 +9524,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcColourOrFactor, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9538,7 +9538,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcMetricValueSelect, public IfcMeasureValue, public IfcValue, public IfcAppliedValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9558,7 +9558,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9585,7 +9585,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Purpose() const; @@ -9610,7 +9610,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x2::IfcOrganization* ApplicationDeveloper() const; @@ -9644,7 +9644,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcMetricValueSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -9692,7 +9692,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -9753,7 +9753,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -9774,7 +9774,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -9810,7 +9810,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -9837,7 +9837,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x2::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -9872,7 +9872,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4x2::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -9897,7 +9897,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -9921,7 +9921,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -9943,7 +9943,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -9963,7 +9963,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -9989,7 +9989,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10069,7 +10069,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4x2::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -10105,7 +10105,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10176,7 +10176,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10191,7 +10191,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr Elements() const; @@ -10216,7 +10216,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4x2::IfcNamedUnit* Unit() const; @@ -10247,7 +10247,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10282,7 +10282,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10299,7 +10299,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcLightDistributionDataSourceSelect, public IfcResourceObjectSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10335,7 +10335,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10350,7 +10350,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10365,7 +10365,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10396,7 +10396,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10420,7 +10420,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10442,7 +10442,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10480,7 +10480,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10517,7 +10517,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10539,7 +10539,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x2::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10564,7 +10564,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -10602,7 +10602,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -10640,7 +10640,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -10674,7 +10674,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4x2::IfcMaterial* Material() const; @@ -10745,7 +10745,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -10807,7 +10807,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x2::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -10838,7 +10838,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Materials() const; @@ -10854,7 +10854,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -10886,7 +10886,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -10914,7 +10914,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -10956,7 +10956,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -10975,7 +10975,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4x2::IfcValue* ValueComponent() const; @@ -11041,7 +11041,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x2::IfcBenchmarkEnum::Value Benchmark() const; @@ -11065,7 +11065,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -11081,7 +11081,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x2::IfcDimensionalExponents* Dimensions() const; @@ -11106,7 +11106,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: ::Ifc4x2::IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x2::IfcObjectPlacement* v); @@ -11126,7 +11126,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11153,7 +11153,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11190,7 +11190,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4x2::IfcPersonAndOrganization* OwningUser() const; @@ -11231,7 +11231,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11275,7 +11275,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// The person who is related to the organization. ::Ifc4x2::IfcPerson* ThePerson() const; @@ -11297,7 +11297,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11322,7 +11322,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4x2::IfcNamedUnit* Unit() const; @@ -11336,7 +11336,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11372,7 +11372,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11395,7 +11395,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11428,7 +11428,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11457,7 +11457,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11473,7 +11473,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. aggregate_of_instance::ptr Styles() const; @@ -11501,7 +11501,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -11688,7 +11688,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4x2::IfcProfileTypeEnum::Value ProfileType() const; @@ -11727,7 +11727,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -11752,7 +11752,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -11807,7 +11807,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -11829,7 +11829,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -11850,7 +11850,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -11871,7 +11871,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -11892,7 +11892,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -11913,7 +11913,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -11934,7 +11934,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -11956,7 +11956,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -12002,7 +12002,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -12066,7 +12066,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x2::IfcRepresentationContext* ContextOfItems() const; @@ -12100,7 +12100,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12147,7 +12147,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12168,7 +12168,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12188,7 +12188,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12211,7 +12211,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12242,7 +12242,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4x2::IfcSIPrefix::Value > Prefix() const; @@ -12261,7 +12261,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12316,7 +12316,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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 @@ -12362,7 +12362,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12506,7 +12506,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12517,7 +12517,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12531,7 +12531,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12553,7 +12553,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12570,7 +12570,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12581,7 +12581,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12594,7 +12594,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -12622,7 +12622,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12658,7 +12658,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -12689,7 +12689,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12702,7 +12702,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -12726,7 +12726,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// An indication of which side of the surface to apply the style. ::Ifc4x2::IfcSurfaceSide::Value Side() const; @@ -12751,7 +12751,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -12780,7 +12780,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -12801,7 +12801,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x2::IfcColourRgb* SurfaceColour() const; @@ -12832,7 +12832,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr Textures() const; @@ -12935,7 +12935,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -12986,7 +12986,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -13008,7 +13008,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -13043,7 +13043,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -13065,7 +13065,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13181,7 +13181,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4x2::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4x2::IfcRecurrencePattern* v); @@ -13197,7 +13197,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13254,7 +13254,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// A character style to be used for presented text. ::Ifc4x2::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13296,7 +13296,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x2::IfcColour* Colour() const; @@ -13317,7 +13317,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13364,7 +13364,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v); @@ -13400,7 +13400,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13469,7 +13469,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13511,7 +13511,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13523,7 +13523,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13539,7 +13539,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13558,7 +13558,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcMetricValueSelect { public: /// An unique name for the time series. std::string Name() const; @@ -13600,7 +13600,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -13616,7 +13616,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13658,7 +13658,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13671,7 +13671,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -13692,7 +13692,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13709,7 +13709,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x2::IfcPoint* VertexGeometry() const; @@ -13779,7 +13779,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr IntersectingAxes() const; @@ -13801,7 +13801,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -13829,7 +13829,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4x2::IfcApproval* RelatingApproval() const; @@ -13861,7 +13861,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x2::IfcCurve* OuterCurve() const; @@ -13887,7 +13887,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4x2::IfcBoundedCurve* Curve() const; @@ -13917,7 +13917,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4x2::IfcCurve >::ptr InnerCurves() const; @@ -13937,7 +13937,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -13980,7 +13980,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -14006,7 +14006,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// Source (or publisher) for this classification. /// @@ -14085,7 +14085,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// The classification system or source that is referenced. ::Ifc4x2::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -14106,7 +14106,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14121,7 +14121,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcColour, public IfcFillStyleSelect { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14171,7 +14171,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Profiles() const; @@ -14194,7 +14194,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4x2::IfcFace >::ptr CfsFaces() const; @@ -14218,7 +14218,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4x2::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14251,7 +14251,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14275,7 +14275,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14334,7 +14334,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14367,7 +14367,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14389,7 +14389,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4x2::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14431,7 +14431,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// 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. ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14455,7 +14455,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14480,7 +14480,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -14502,7 +14502,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -14604,7 +14604,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4x2::IfcProfileDef* ParentProfile() const; @@ -14624,7 +14624,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -14708,7 +14708,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x2::IfcDocumentInformation* RelatingDocument() const; @@ -14736,7 +14736,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -14802,7 +14802,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4x2::IfcVertex* EdgeStart() const; @@ -14849,7 +14849,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4x2::IfcCurve* EdgeGeometry() const; @@ -14886,7 +14886,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -14909,7 +14909,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -14930,7 +14930,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -14990,7 +14990,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr Bounds() const; @@ -15007,7 +15007,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4x2::IfcLoop* Bound() const; @@ -15026,7 +15026,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15070,7 +15070,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4x2::IfcSurface* FaceSurface() const; @@ -15091,7 +15091,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15151,7 +15151,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15211,7 +15211,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15254,7 +15254,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15275,7 +15275,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x2::IfcGeometricRepresentationContext* ParentContext() const; @@ -15312,7 +15312,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15368,7 +15368,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x2::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15399,7 +15399,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4x2::IfcSurface* BaseSurface() const; @@ -15448,7 +15448,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15460,7 +15460,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x2::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v); @@ -15477,7 +15477,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4x2::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v); @@ -15490,7 +15490,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -15505,7 +15505,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4x2::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15553,7 +15553,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -15576,7 +15576,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -15604,7 +15604,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15621,7 +15621,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15640,7 +15640,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x2::IfcAxis2Placement3D* Position() const; @@ -15681,7 +15681,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15721,7 +15721,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -15745,7 +15745,7 @@ public: typedef aggregate_of< IfcLightSourceSpot > list; }; -class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x2::IfcCurve* PlacementMeasuredAlong() const; void setPlacementMeasuredAlong(::Ifc4x2::IfcCurve* v); @@ -15813,7 +15813,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4x2::IfcAxis2Placement* RelativePlacement() const; @@ -15850,7 +15850,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15877,7 +15877,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x2::IfcRepresentationMap* MappingSource() const; @@ -15918,7 +15918,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -15953,7 +15953,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -15991,7 +15991,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -16038,7 +16038,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4x2::IfcMaterial* RepresentedMaterial() const; @@ -16149,7 +16149,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x2::IfcMaterialLayerSet* ForLayerSet() const; @@ -16191,7 +16191,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x2::IfcMaterialProfileSet* ForProfileSet() const; @@ -16238,7 +16238,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x2::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16274,7 +16274,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16290,7 +16290,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4x2::IfcMaterial* RelatingMaterial() const; @@ -16334,7 +16334,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16392,7 +16392,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16466,7 +16466,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16480,7 +16480,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4x2::IfcOrganization* RelatingOrganization() const; @@ -16495,7 +16495,7 @@ public: typedef aggregate_of< IfcOrganizationRelationship > list; }; -class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { public: ::Ifc4x2::IfcDirection* LateralAxisDirection() const; void setLateralAxisDirection(::Ifc4x2::IfcDirection* v); @@ -16514,7 +16514,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4x2::IfcEdge* EdgeElement() const; @@ -16570,7 +16570,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x2::IfcAxis2Placement2D* Position() const; @@ -16595,7 +16595,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr EdgeList() const; @@ -16615,7 +16615,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -16653,7 +16653,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -16684,7 +16684,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x2::IfcCartesianPoint* Location() const; @@ -16700,7 +16700,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -16719,7 +16719,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcPointOrVertexPoint, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16736,7 +16736,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4x2::IfcCurve* BasisCurve() const; @@ -16759,7 +16759,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4x2::IfcSurface* BasisSurface() const; @@ -16815,7 +16815,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Polygon() const; @@ -16882,7 +16882,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x2::IfcAxis2Placement3D* Position() const; @@ -16905,7 +16905,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -16917,7 +16917,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16936,7 +16936,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16956,7 +16956,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -16977,7 +16977,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4x2::IfcProfileDef* ProfileDefinition() const; @@ -16991,7 +16991,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -17061,7 +17061,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -17079,7 +17079,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4x2::IfcProperty* DependingProperty() const; @@ -17138,7 +17138,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17174,7 +17174,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17183,7 +17183,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17225,7 +17225,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17244,7 +17244,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17263,7 +17263,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17297,7 +17297,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17311,7 +17311,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17345,7 +17345,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4x2::IfcConstraint* RelatingConstraint() const; @@ -17361,7 +17361,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -17451,7 +17451,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -17467,7 +17467,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x2::IfcSectionTypeEnum::Value SectionType() const; @@ -17491,7 +17491,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -17570,7 +17570,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x2::IfcCompositeCurve* SpineCurve() const; @@ -17599,7 +17599,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -17612,7 +17612,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17629,7 +17629,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -17651,7 +17651,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcSolidOrShell, public IfcBooleanOperand { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17664,7 +17664,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -17695,7 +17695,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -17717,7 +17717,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -17746,7 +17746,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -17763,7 +17763,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -17797,7 +17797,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -17818,7 +17818,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x2::IfcEdge* ParentEdge() const; @@ -17839,7 +17839,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect, public IfcSurfaceOrFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17892,7 +17892,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -17949,7 +17949,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x2::IfcProfileDef* SweptArea() const; @@ -18016,7 +18016,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x2::IfcCurve* Directrix() const; @@ -18053,7 +18053,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -18069,7 +18069,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4x2::IfcProfileDef* SweptCurve() const; @@ -18111,7 +18111,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18147,7 +18147,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18165,7 +18165,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18192,7 +18192,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4x2::IfcPlanarExtent* Extent() const; @@ -18271,7 +18271,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18335,7 +18335,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18386,7 +18386,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -18437,7 +18437,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -18523,7 +18523,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -18550,7 +18550,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -18598,7 +18598,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18634,7 +18634,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcHatchLineDistanceSelect, public IfcVectorOrDirection { public: /// The direction of the vector. ::Ifc4x2::IfcDirection* Orientation() const; @@ -18660,7 +18660,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4x2::IfcVertex* LoopVertex() const; @@ -18689,7 +18689,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4x2::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -18734,7 +18734,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -18773,7 +18773,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18782,7 +18782,7 @@ public: typedef aggregate_of< IfcAdvancedFace > list; }; -class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { public: boost::optional< double > StartDistAlong() const; void setStartDistAlong(boost::optional< double > v); @@ -18796,7 +18796,7 @@ public: typedef aggregate_of< IfcAlignment2DHorizontal > list; }; -class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { public: boost::optional< bool > TangentialContinuity() const; void setTangentialContinuity(boost::optional< bool > v); @@ -18811,7 +18811,7 @@ public: typedef aggregate_of< IfcAlignment2DSegment > list; }; -class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { public: aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr Segments() const; void setSegments(aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr v); @@ -18823,7 +18823,7 @@ public: typedef aggregate_of< IfcAlignment2DVertical > list; }; -class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -18860,7 +18860,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -18915,7 +18915,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -18959,7 +18959,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4x2::IfcDirection* Axis() const; @@ -18981,7 +18981,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4x2::IfcDirection* RefDirection() const; @@ -19005,7 +19005,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4x2::IfcDirection* Axis() const; @@ -19045,7 +19045,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The Boolean operator used in the operation to create the result. ::Ifc4x2::IfcBooleanOperator::Value Operator() const; @@ -19074,7 +19074,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19104,7 +19104,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4x2::IfcCartesianPoint* Corner() const; @@ -19154,7 +19154,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x2::IfcBoundingBox* Enclosure() const; @@ -19187,7 +19187,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -19217,7 +19217,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19229,7 +19229,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19238,7 +19238,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19251,7 +19251,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19293,7 +19293,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x2::IfcDirection* Axis1() const; @@ -19318,7 +19318,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19336,7 +19336,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19352,7 +19352,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x2::IfcDirection* Axis3() const; @@ -19374,7 +19374,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19400,7 +19400,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19460,7 +19460,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcSolidOrShell, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19476,7 +19476,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -19504,7 +19504,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -19526,7 +19526,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x2::IfcTransitionCode::Value Transition() const; @@ -19561,7 +19561,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v); @@ -19586,7 +19586,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -19625,7 +19625,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4x2::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -19641,7 +19641,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x2::IfcAxis2Placement3D* Position() const; @@ -19693,7 +19693,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4x2::IfcCsgSelect* TreeRootExpression() const; @@ -19714,7 +19714,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19735,7 +19735,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4x2::IfcPlane* BasisSurface() const; @@ -19773,7 +19773,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4x2::IfcSurface* BasisSurface() const; @@ -19796,7 +19796,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcVectorOrDirection, public IfcGridPlacementDirectionSelect { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -19808,7 +19808,7 @@ public: typedef aggregate_of< IfcDirection > list; }; -class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { public: double DistanceAlong() const; void setDistanceAlong(double v); @@ -19852,7 +19852,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4x2::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -19883,7 +19883,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr EdgeList() const; @@ -19971,7 +19971,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -20009,7 +20009,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -20025,7 +20025,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x2::IfcAxis2Placement3D* Position() const; @@ -20052,7 +20052,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -20072,7 +20072,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -20161,7 +20161,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x2::IfcDirection* ExtrudedDirection() const; @@ -20274,7 +20274,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x2::IfcProfileDef* EndSweptArea() const; @@ -20297,7 +20297,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20355,7 +20355,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x2::IfcCurveStyle* HatchLineAppearance() const; @@ -20391,7 +20391,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4x2::IfcVector >::ptr TilingPattern() const; @@ -20466,7 +20466,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x2::IfcCurve* Directrix() const; @@ -20514,7 +20514,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20559,7 +20559,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -20633,7 +20633,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -20651,7 +20651,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20722,7 +20722,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -20750,7 +20750,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -20762,7 +20762,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -20823,7 +20823,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -20860,7 +20860,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4x2::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -20884,7 +20884,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4x2::IfcCartesianPoint* Pnt() const; @@ -20961,7 +20961,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x2::IfcClosedShell* Outer() const; @@ -21054,7 +21054,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -21070,7 +21070,7 @@ public: typedef aggregate_of< IfcObject > list; }; -class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: ::Ifc4x2::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x2::IfcCurve* v); @@ -21091,7 +21091,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -21120,7 +21120,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -21138,7 +21138,7 @@ public: typedef aggregate_of< IfcOffsetCurve3D > list; }; -class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr OffsetValues() const; void setOffsetValues(aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v); @@ -21157,7 +21157,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x2::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x2::IfcSurface* v); @@ -21175,7 +21175,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -21223,7 +21223,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21236,7 +21236,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcColour, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21251,7 +21251,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21279,7 +21279,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21300,7 +21300,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21352,7 +21352,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -21465,7 +21465,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcProductSelect { public: /// 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. ::Ifc4x2::IfcObjectPlacement* ObjectPlacement() const; @@ -21525,7 +21525,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21557,7 +21557,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21669,7 +21669,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4x2::IfcValue* UpperBoundValue() const; @@ -21768,7 +21768,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -21849,7 +21849,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -21880,7 +21880,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -21949,7 +21949,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x2::IfcProperty >::ptr HasProperties() const; @@ -21991,7 +21991,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -22063,7 +22063,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -22197,7 +22197,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -22253,7 +22253,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22279,7 +22279,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4x2::IfcObjectTypeEnum::Value ProxyType() const; @@ -22313,7 +22313,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22418,7 +22418,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22450,7 +22450,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4x2::IfcSurface* BasisSurface() const; @@ -22505,7 +22505,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -22530,7 +22530,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -22554,7 +22554,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x2::IfcActor* RelatingActor() const; @@ -22573,7 +22573,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x2::IfcControl* RelatingControl() const; @@ -22597,7 +22597,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4x2::IfcGroup* RelatingGroup() const; @@ -22617,7 +22617,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -22650,7 +22650,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -22674,7 +22674,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -22693,7 +22693,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -22747,7 +22747,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -22763,7 +22763,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4x2::IfcApproval* RelatingApproval() const; @@ -22804,7 +22804,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4x2::IfcClassificationSelect* RelatingClassification() const; @@ -22818,7 +22818,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -22839,7 +22839,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4x2::IfcDocumentSelect* RelatingDocument() const; @@ -22857,7 +22857,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x2::IfcLibrarySelect* RelatingLibrary() const; @@ -22962,7 +22962,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4x2::IfcMaterialSelect* RelatingMaterial() const; @@ -22976,7 +22976,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23006,7 +23006,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4x2::IfcConnectionGeometry* ConnectionGeometry() const; @@ -23053,7 +23053,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23098,7 +23098,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x2::IfcPort* RelatingPort() const; @@ -23127,7 +23127,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x2::IfcPort* RelatingPort() const; @@ -23147,7 +23147,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x2::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -23185,7 +23185,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x2::IfcStructuralMember* RelatingStructuralMember() const; @@ -23228,7 +23228,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4x2::IfcConnectionGeometry* ConnectionConstraint() const; @@ -23262,7 +23262,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4x2::IfcElement >::ptr RealizingElements() const; @@ -23336,7 +23336,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23368,7 +23368,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23410,7 +23410,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -23437,7 +23437,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x2::IfcContext* RelatingContext() const; @@ -23481,7 +23481,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23516,7 +23516,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23539,7 +23539,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4x2::IfcObject >::ptr RelatedObjects() const; @@ -23568,7 +23568,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -23594,7 +23594,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -23677,7 +23677,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4x2::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObject >::ptr v); @@ -23699,7 +23699,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4x2::IfcOpeningElement* RelatingOpeningElement() const; @@ -23722,7 +23722,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -23783,7 +23783,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4x2::IfcElement* RelatingElement() const; @@ -23831,7 +23831,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -23850,7 +23850,7 @@ public: typedef aggregate_of< IfcRelNests > list; }; -class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { +class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: ::Ifc4x2::IfcPositioningElement* RelatingPositioningElement() const; void setRelatingPositioningElement(::Ifc4x2::IfcPositioningElement* v); @@ -23894,7 +23894,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x2::IfcElement* RelatingElement() const; @@ -23957,7 +23957,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -24028,7 +24028,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4x2::IfcProcess* RelatingProcess() const; @@ -24082,7 +24082,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4x2::IfcSystem* RelatingSystem() const; @@ -24262,7 +24262,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4x2::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24338,7 +24338,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x2::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24382,7 +24382,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x2::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24401,7 +24401,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4x2::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x2::IfcElement* v); @@ -24436,7 +24436,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -24459,7 +24459,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -24555,7 +24555,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4x2::IfcAxis1Placement* Axis() const; @@ -24627,7 +24627,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4x2::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4x2::IfcProfileDef* v); @@ -24702,7 +24702,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -24797,7 +24797,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -24812,7 +24812,7 @@ public: typedef aggregate_of< IfcRightCircularCylinder > list; }; -class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x2::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x2::IfcCurve* v); @@ -24825,7 +24825,7 @@ public: typedef aggregate_of< IfcSectionedSolid > list; }; -class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { +class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr CrossSectionPositions() const; void setCrossSectionPositions(aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v); @@ -24882,7 +24882,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -24968,7 +24968,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -25015,7 +25015,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -25100,7 +25100,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -25148,7 +25148,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25205,7 +25205,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -25246,7 +25246,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25309,7 +25309,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25321,7 +25321,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -25424,7 +25424,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -25544,7 +25544,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -25557,7 +25557,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -25586,7 +25586,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25614,7 +25614,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -25646,7 +25646,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25676,7 +25676,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -25698,7 +25698,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4x2::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -25710,7 +25710,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x2::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x2::IfcCurve* v); @@ -25786,7 +25786,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x2::IfcCurve* Directrix() const; @@ -25823,7 +25823,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4x2::IfcDirection* ExtrudedDirection() const; @@ -25854,7 +25854,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x2::IfcAxis1Placement* AxisPosition() const; @@ -25895,7 +25895,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -26150,7 +26150,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -26237,7 +26237,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -26253,7 +26253,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4x2::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x2::IfcCartesianPointList3D* v); @@ -26266,7 +26266,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26341,7 +26341,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcTransportElementTypeEnum::Value PredefinedType() const; @@ -26353,7 +26353,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26370,7 +26370,7 @@ public: typedef aggregate_of< IfcTriangulatedFaceSet > list; }; -class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { +class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: std::vector< int > /*[1:?]*/ Flags() const; void setFlags(std::vector< int > /*[1:?]*/ v); @@ -26478,7 +26478,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -26575,7 +26575,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x2::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -26615,7 +26615,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4x2::IfcActorSelect* TheActor() const; @@ -26660,7 +26660,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26689,7 +26689,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v); @@ -26700,7 +26700,7 @@ public: typedef aggregate_of< IfcAdvancedBrepWithVoids > list; }; -class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { public: ::Ifc4x2::IfcCurveSegment2D* CurveGeometry() const; void setCurveGeometry(::Ifc4x2::IfcCurveSegment2D* v); @@ -26712,7 +26712,7 @@ public: typedef aggregate_of< IfcAlignment2DHorizontalSegment > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { public: double Radius() const; void setRadius(double v); @@ -26725,7 +26725,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegCircularArc > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26734,7 +26734,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegLine > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { public: double ParabolaConstant() const; void setParabolaConstant(double v); @@ -26919,7 +26919,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; @@ -26997,7 +26997,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -27033,7 +27033,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -27153,7 +27153,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27177,7 +27177,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27195,7 +27195,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: aggregate_of< IfcLinearPositioningElement >::ptr PositioningElement() const; // INVERSE IfcLinearPositioningElement::Axis virtual const IfcParse::entity& declaration() const; @@ -27233,7 +27233,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { +class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27266,7 +27266,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x2::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -27295,7 +27295,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -27307,7 +27307,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27413,7 +27413,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x2::IfcColumnTypeEnum::Value PredefinedType() const; @@ -27432,7 +27432,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -27513,7 +27513,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr Segments() const; @@ -27538,7 +27538,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27551,7 +27551,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4x2::IfcAxis2Placement* Position() const; @@ -27575,7 +27575,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -27599,7 +27599,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -27623,7 +27623,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -27706,7 +27706,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4x2::IfcResourceTime* Usage() const; void setUsage(::Ifc4x2::IfcResourceTime* v); @@ -27730,7 +27730,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -27781,7 +27781,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -27831,7 +27831,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -27942,7 +27942,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -27963,7 +27963,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -27996,7 +27996,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x2::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28008,7 +28008,7 @@ public: typedef aggregate_of< IfcCurtainWallType > list; }; -class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { +class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: ::Ifc4x2::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x2::IfcCartesianPoint* v); @@ -28076,7 +28076,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28088,7 +28088,7 @@ public: typedef aggregate_of< IfcCylindricalSurface > list; }; -class IFC_PARSE_API IfcDeepFoundationType : public IfcBuildingElementType { +class IFC_PARSE_API IfcDeepFoundationType : public IfcBuildingElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28124,7 +28124,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28197,7 +28197,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28300,7 +28300,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -28398,7 +28398,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -28551,7 +28551,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x2::IfcDoorTypeEnum::Value PredefinedType() const; @@ -28641,7 +28641,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28662,7 +28662,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28723,7 +28723,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -28840,7 +28840,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -28878,7 +28878,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -28966,7 +28966,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28983,7 +28983,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29018,7 +29018,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29055,7 +29055,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29089,7 +29089,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4x2::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcEngineTypeEnum::Value v); @@ -29125,7 +29125,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29162,7 +29162,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4x2::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29250,7 +29250,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -29279,7 +29279,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29311,7 +29311,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29343,7 +29343,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr Voids() const; @@ -29355,7 +29355,7 @@ public: typedef aggregate_of< IfcFacetedBrepWithVoids > list; }; -class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29364,7 +29364,7 @@ public: typedef aggregate_of< IfcFacility > list; }; -class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29380,7 +29380,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -29414,7 +29414,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4x2::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -29519,7 +29519,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29582,7 +29582,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -29641,7 +29641,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -29672,7 +29672,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29703,7 +29703,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29743,7 +29743,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4x2::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -29776,7 +29776,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29815,7 +29815,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29830,7 +29830,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29845,7 +29845,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29861,7 +29861,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29878,7 +29878,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: /// Subtype of footing. ::Ifc4x2::IfcFootingTypeEnum::Value PredefinedType() const; @@ -29993,7 +29993,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30032,7 +30032,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v); @@ -30182,7 +30182,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30223,7 +30223,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -30261,7 +30261,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x2::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -30298,7 +30298,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4x2::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -30310,7 +30310,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x2::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x2::IfcCartesianPointList* v); @@ -30357,7 +30357,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x2::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcInterceptorTypeEnum::Value v); @@ -30368,7 +30368,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30387,7 +30387,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -30444,7 +30444,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x2::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -30479,7 +30479,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -30520,7 +30520,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x2::IfcLampTypeEnum::Value PredefinedType() const; @@ -30562,7 +30562,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x2::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -30574,7 +30574,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30611,7 +30611,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -30661,7 +30661,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -30704,7 +30704,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v); @@ -30815,7 +30815,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x2::IfcMemberTypeEnum::Value PredefinedType() const; @@ -30853,7 +30853,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x2::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -30871,7 +30871,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31086,7 +31086,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -31193,7 +31193,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31230,7 +31230,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x2::IfcOutletTypeEnum::Value PredefinedType() const; @@ -31246,7 +31246,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -31293,7 +31293,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -31353,7 +31353,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -31383,7 +31383,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: /// Subtype of pile. ::Ifc4x2::IfcPileTypeEnum::Value PredefinedType() const; @@ -31423,7 +31423,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4x2::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -31467,7 +31467,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4x2::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -31555,7 +31555,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x2::IfcPlateTypeEnum::Value PredefinedType() const; @@ -31567,7 +31567,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -31595,7 +31595,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Points() const; @@ -31659,7 +31659,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -31671,7 +31671,7 @@ public: typedef aggregate_of< IfcPort > list; }; -class IFC_PARSE_API IfcPositioningElement : public IfcProduct { +class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements aggregate_of< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement @@ -31785,7 +31785,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -31840,7 +31840,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -31974,7 +31974,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32022,7 +32022,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32061,7 +32061,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4x2::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32092,7 +32092,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x2::IfcRailingTypeEnum::Value PredefinedType() const; @@ -32123,7 +32123,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x2::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -32167,7 +32167,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x2::IfcRampTypeEnum::Value PredefinedType() const; @@ -32191,7 +32191,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -32203,7 +32203,7 @@ public: typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; -class IFC_PARSE_API IfcReferent : public IfcPositioningElement { +class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v); @@ -32223,7 +32223,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -32236,7 +32236,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32268,7 +32268,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -32306,7 +32306,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -32367,7 +32367,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -32417,7 +32417,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x2::IfcRoofTypeEnum::Value PredefinedType() const; @@ -32465,7 +32465,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -32477,7 +32477,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32506,7 +32506,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x2::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -32706,7 +32706,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -32809,7 +32809,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x2::IfcSlabTypeEnum::Value PredefinedType() const; @@ -32846,7 +32846,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4x2::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcSolarDeviceTypeEnum::Value v); @@ -33106,7 +33106,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -33156,7 +33156,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -33248,7 +33248,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -33287,7 +33287,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x2::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -33318,7 +33318,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x2::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -33362,7 +33362,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x2::IfcStairTypeEnum::Value PredefinedType() const; @@ -33392,7 +33392,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -33406,7 +33406,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4x2::IfcBoundaryCondition* AppliedCondition() const; @@ -33474,7 +33474,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -33505,7 +33505,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -33555,7 +33555,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -33591,7 +33591,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33649,7 +33649,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -33667,7 +33667,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33708,7 +33708,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4x2::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -33778,7 +33778,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33799,7 +33799,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4x2::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -33853,7 +33853,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33865,7 +33865,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -33935,7 +33935,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -33961,7 +33961,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33993,7 +33993,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -34037,7 +34037,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -34088,7 +34088,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -34116,7 +34116,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem virtual const IfcParse::entity& declaration() const; @@ -34149,7 +34149,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -34191,7 +34191,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4x2::IfcTankTypeEnum::Value PredefinedType() const; @@ -34203,7 +34203,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v); @@ -34228,7 +34228,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v); @@ -34239,7 +34239,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4x2::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcTendonAnchorTypeEnum::Value v); @@ -34250,7 +34250,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: ::Ifc4x2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcTendonConduitTypeEnum::Value v); @@ -34261,7 +34261,7 @@ public: typedef aggregate_of< IfcTendonConduit > list; }; -class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: ::Ifc4x2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcTendonConduitTypeEnum::Value v); @@ -34272,7 +34272,7 @@ public: typedef aggregate_of< IfcTendonConduitType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x2::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcTendonTypeEnum::Value v); @@ -34315,7 +34315,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x2::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -34327,7 +34327,7 @@ public: typedef aggregate_of< IfcTransformerType > list; }; -class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: boost::optional< double > StartRadius() const; void setStartRadius(boost::optional< double > v); @@ -34461,7 +34461,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34552,7 +34552,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4x2::IfcCurve* BasisCurve() const; @@ -34604,7 +34604,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4x2::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -34643,7 +34643,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -34692,7 +34692,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4x2::IfcValveTypeEnum::Value PredefinedType() const; @@ -34704,7 +34704,7 @@ public: typedef aggregate_of< IfcValveType > list; }; -class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v); @@ -34715,7 +34715,7 @@ public: typedef aggregate_of< IfcVibrationDamper > list; }; -class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v); @@ -34759,7 +34759,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v); @@ -34791,7 +34791,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -34888,7 +34888,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34928,7 +34928,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -35023,7 +35023,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x2::IfcWallTypeEnum::Value PredefinedType() const; @@ -35070,7 +35070,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x2::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -35202,7 +35202,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x2::IfcWindowTypeEnum::Value PredefinedType() const; @@ -35233,7 +35233,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -35301,7 +35301,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -35355,7 +35355,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -35407,7 +35407,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -35504,7 +35504,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -35557,7 +35557,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -35610,7 +35610,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -35647,7 +35647,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4x2::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcAirTerminalTypeEnum::Value v); @@ -35683,7 +35683,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -35695,7 +35695,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: ::Ifc4x2::IfcAlignment2DHorizontal* Horizontal() const; void setHorizontal(::Ifc4x2::IfcAlignment2DHorizontal* v); @@ -35733,7 +35733,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -35815,7 +35815,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -35875,7 +35875,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -35915,7 +35915,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -36030,7 +36030,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x2::IfcBeamTypeEnum::Value PredefinedType() const; @@ -36042,7 +36042,7 @@ public: typedef aggregate_of< IfcBeamType > list; }; -class IFC_PARSE_API IfcBearingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBearingType : public IfcBuildingElementType { public: ::Ifc4x2::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcBearingTypeEnum::Value v); @@ -36081,7 +36081,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4x2::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -36099,7 +36099,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36108,7 +36108,7 @@ public: typedef aggregate_of< IfcBoundaryCurve > list; }; -class IFC_PARSE_API IfcBridge : public IfcFacility { +class IFC_PARSE_API IfcBridge : public IfcFacility { public: boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v); @@ -36119,7 +36119,7 @@ public: typedef aggregate_of< IfcBridge > list; }; -class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { +class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v); @@ -36303,7 +36303,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcFacility { +class IFC_PARSE_API IfcBuilding : public IfcFacility { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -36683,7 +36683,7 @@ public: /// 'AdvancedBrep' geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcBuildingElement : public IfcElement { +class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36708,7 +36708,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -36723,7 +36723,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -36924,7 +36924,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v); @@ -36968,7 +36968,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { +class IFC_PARSE_API 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. ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -37156,7 +37156,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcFacilityPart { +class IFC_PARSE_API IfcBuildingStorey : public IfcFacilityPart { public: /// 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. boost::optional< double > Elevation() const; @@ -37203,7 +37203,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -37243,7 +37243,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4x2::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcBurnerTypeEnum::Value v); @@ -37279,7 +37279,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -37322,7 +37322,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -37361,7 +37361,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x2::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -37413,7 +37413,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x2::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37425,7 +37425,7 @@ public: typedef aggregate_of< IfcCableSegmentType > list; }; -class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v); @@ -37467,7 +37467,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x2::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37519,7 +37519,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuildingElement { +class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: /// 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. @@ -37558,7 +37558,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37570,7 +37570,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: double Radius() const; void setRadius(double v); @@ -37583,7 +37583,7 @@ public: typedef aggregate_of< IfcCircularArcSegment2D > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37618,7 +37618,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x2::IfcCoilTypeEnum::Value PredefinedType() const; @@ -37900,7 +37900,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuildingElement { +class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: /// 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. @@ -38159,7 +38159,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -38199,7 +38199,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -38237,7 +38237,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x2::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -38275,7 +38275,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4x2::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -38308,7 +38308,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -38346,7 +38346,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -38373,7 +38373,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -38414,7 +38414,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4x2::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -38458,7 +38458,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x2::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38693,7 +38693,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuildingElement { +class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -38844,7 +38844,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: /// 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. @@ -38892,7 +38892,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4x2::IfcDamperTypeEnum::Value PredefinedType() const; @@ -38904,7 +38904,7 @@ public: typedef aggregate_of< IfcDamperType > list; }; -class IFC_PARSE_API IfcDeepFoundation : public IfcBuildingElement { +class IFC_PARSE_API IfcDeepFoundation : public IfcBuildingElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39085,7 +39085,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -39284,7 +39284,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -39332,7 +39332,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -39397,7 +39397,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39567,7 +39567,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -39644,7 +39644,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -39735,7 +39735,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -39791,7 +39791,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40163,7 +40163,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuildingElement { +class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -40300,7 +40300,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40337,7 +40337,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4x2::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -40377,7 +40377,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4x2::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -40414,7 +40414,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4x2::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -40454,7 +40454,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x2::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40492,7 +40492,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40530,7 +40530,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40573,7 +40573,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -40611,7 +40611,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x2::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -40649,7 +40649,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -40669,7 +40669,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40718,7 +40718,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v); @@ -40772,7 +40772,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -40846,7 +40846,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v); @@ -40871,7 +40871,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -40911,7 +40911,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4x2::IfcFanTypeEnum::Value PredefinedType() const; @@ -40951,7 +40951,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4x2::IfcFilterTypeEnum::Value PredefinedType() const; @@ -40995,7 +40995,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -41015,7 +41015,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41028,7 +41028,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41066,7 +41066,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -41157,7 +41157,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v); @@ -41172,7 +41172,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41203,7 +41203,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41220,7 +41220,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41239,7 +41239,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41252,7 +41252,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41282,7 +41282,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuildingElement { +class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: /// The generic type of the footing. /// @@ -41391,7 +41391,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcPositioningElement { +class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr UAxes() const; @@ -41460,7 +41460,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v); @@ -41513,7 +41513,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v); @@ -41580,7 +41580,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v); @@ -41656,7 +41656,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v); @@ -41713,7 +41713,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v); @@ -41789,7 +41789,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v); @@ -41800,7 +41800,7 @@ public: typedef aggregate_of< IfcLightFixture > list; }; -class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { +class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: ::Ifc4x2::IfcCurve* Axis() const; void setAxis(::Ifc4x2::IfcCurve* v); @@ -41854,7 +41854,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v); @@ -42114,7 +42114,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuildingElement { +class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: /// 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. @@ -42367,7 +42367,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42416,7 +42416,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v); @@ -42431,7 +42431,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42505,7 +42505,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v); @@ -42533,7 +42533,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcDeepFoundation { +class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: /// The predefined generic type of the pile according to function. /// @@ -42636,7 +42636,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v); @@ -42706,7 +42706,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v); @@ -42944,7 +42944,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuildingElement { +class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: /// 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. @@ -43111,7 +43111,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -43195,7 +43195,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v); @@ -43245,7 +43245,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -43305,7 +43305,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v); @@ -43447,7 +43447,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuildingElement { +class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: /// 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. @@ -43593,7 +43593,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuildingElement { +class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -43796,7 +43796,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: /// 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. @@ -43846,7 +43846,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -43885,7 +43885,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -43920,7 +43920,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4x2::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -44092,7 +44092,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuildingElement { +class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -44231,7 +44231,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v); @@ -44289,7 +44289,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x2::IfcSensorTypeEnum::Value PredefinedType() const; @@ -44314,7 +44314,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: /// 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. @@ -44586,7 +44586,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuildingElement { +class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: /// 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. @@ -44683,7 +44683,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -44850,7 +44850,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -44905,7 +44905,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v); @@ -44977,7 +44977,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v); @@ -45037,7 +45037,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v); @@ -45212,7 +45212,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuildingElement { +class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -45392,7 +45392,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -45446,7 +45446,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4x2::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -45485,7 +45485,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -45507,7 +45507,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45603,7 +45603,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v); @@ -45673,7 +45673,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v); @@ -45725,7 +45725,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v); @@ -45782,7 +45782,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v); @@ -45818,7 +45818,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -45901,7 +45901,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -46097,7 +46097,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v); @@ -46349,7 +46349,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuildingElement { +class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: /// 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. @@ -46461,7 +46461,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46671,7 +46671,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46783,7 +46783,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v); @@ -47151,7 +47151,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuildingElement { +class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -47298,7 +47298,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47337,7 +47337,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x2::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -47405,7 +47405,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v); @@ -47457,7 +47457,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v); @@ -47512,7 +47512,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -47548,7 +47548,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x2::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -47560,7 +47560,7 @@ public: typedef aggregate_of< IfcAlarmType > list; }; -class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { +class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v); @@ -47748,7 +47748,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -47995,7 +47995,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuildingElement { +class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: /// 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. @@ -48260,7 +48260,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48269,7 +48269,7 @@ public: typedef aggregate_of< IfcBeamStandardCase > list; }; -class IFC_PARSE_API IfcBearing : public IfcBuildingElement { +class IFC_PARSE_API IfcBearing : public IfcBuildingElement { public: boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v); @@ -48348,7 +48348,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v); @@ -48399,7 +48399,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v); @@ -48470,7 +48470,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -48540,7 +48540,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -48625,7 +48625,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -48723,7 +48723,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -48735,7 +48735,7 @@ public: typedef aggregate_of< IfcCableSegment > list; }; -class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { +class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v); @@ -48814,7 +48814,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v); @@ -48890,7 +48890,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v); @@ -49002,7 +49002,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -49058,7 +49058,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v); @@ -49134,7 +49134,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v); @@ -49180,7 +49180,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x2::IfcControllerTypeEnum::Value PredefinedType() const; @@ -49240,7 +49240,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v); @@ -49307,7 +49307,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v); @@ -49388,7 +49388,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v); @@ -49429,7 +49429,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v); @@ -49440,7 +49440,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -49526,7 +49526,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -49610,7 +49610,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v); @@ -49669,7 +49669,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v); @@ -49721,7 +49721,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v); @@ -49829,7 +49829,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v); @@ -49896,7 +49896,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -49947,7 +49947,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -50004,7 +50004,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v); @@ -50055,7 +50055,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v); @@ -50106,7 +50106,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v); @@ -50170,7 +50170,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v); @@ -50267,7 +50267,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v); @@ -50343,7 +50343,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -50405,7 +50405,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v); @@ -50467,7 +50467,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -50611,7 +50611,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v); @@ -50676,7 +50676,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v); @@ -50748,7 +50748,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v); @@ -50800,7 +50800,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v); @@ -50916,7 +50916,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 595d864a33..2d73b740cc 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,36 +125,36 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -163,13 +163,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +177,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +252,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -261,22 +261,22 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcFacilityPartTypeSelect; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -285,15 +285,15 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcImpactProtectionDeviceTypeSelect; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -301,7 +301,7 @@ typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; /// 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -312,7 +312,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -335,9 +335,9 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcLinearAxisSelect; +class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -364,7 +364,7 @@ typedef IfcUtil::IfcBaseClass IfcLinearAxisSelect; /// /// 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -374,7 +374,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -387,23 +387,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -411,7 +411,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -420,7 +420,7 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -431,9 +431,9 @@ typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -443,13 +443,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -459,13 +459,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -477,7 +477,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -497,7 +497,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -510,7 +510,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -518,7 +518,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -531,9 +531,9 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -544,7 +544,7 @@ typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; /// 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -554,7 +554,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -565,7 +565,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcStyleAssignmentSelect; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -575,7 +575,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -585,7 +585,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -593,22 +593,22 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcTransportElementTypeSelect; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -622,7 +622,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -633,7 +633,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -642,11 +642,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7855,7 +7855,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7868,7 +7868,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7884,7 +7884,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7897,7 +7897,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7906,7 +7906,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7915,7 +7915,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7930,7 +7930,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7939,7 +7939,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7952,7 +7952,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcTranslationalStiffnessSelect, public IfcWarpingStiffnessSelect, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcValue, public IfcRotationalStiffnessSelect, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcMetricValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8003,7 +8003,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8022,7 +8022,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8078,7 +8078,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8092,7 +8092,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8106,7 +8106,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8121,7 +8121,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8135,7 +8135,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8161,7 +8161,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8181,7 +8181,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8223,7 +8223,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8237,7 +8237,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcMetricValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8252,7 +8252,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8265,7 +8265,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8278,7 +8278,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcSimpleValue, public IfcTimeOrRatioSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8292,7 +8292,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8305,7 +8305,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8318,7 +8318,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8331,7 +8331,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8346,7 +8346,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8359,7 +8359,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8372,7 +8372,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8385,7 +8385,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8407,7 +8407,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8427,7 +8427,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8458,7 +8458,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8471,7 +8471,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8484,7 +8484,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8505,7 +8505,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8518,7 +8518,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8529,7 +8529,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8551,7 +8551,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8564,7 +8564,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8577,7 +8577,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8592,7 +8592,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8607,7 +8607,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8618,7 +8618,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8631,7 +8631,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8644,7 +8644,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8666,7 +8666,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8684,7 +8684,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8699,7 +8699,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcBendingParameterSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8708,7 +8708,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8721,7 +8721,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8734,7 +8734,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8747,7 +8747,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcTranslationalStiffnessSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8760,7 +8760,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8773,7 +8773,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8786,7 +8786,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8801,7 +8801,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8816,7 +8816,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8829,7 +8829,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8842,7 +8842,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8855,7 +8855,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8868,7 +8868,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8883,7 +8883,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8898,7 +8898,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8911,7 +8911,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8924,7 +8924,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8937,7 +8937,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8954,7 +8954,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMetricValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcAppliedValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8967,7 +8967,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8980,7 +8980,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8993,7 +8993,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9005,7 +9005,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9069,7 +9069,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9082,7 +9082,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9096,7 +9096,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9107,7 +9107,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9122,7 +9122,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcTrimmingSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9135,7 +9135,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9154,7 +9154,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcBendingParameterSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9163,7 +9163,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9177,7 +9177,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue, public IfcHatchLineDistanceSelect, public IfcSizeSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9191,7 +9191,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9204,7 +9204,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9221,7 +9221,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9234,7 +9234,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9243,7 +9243,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9256,7 +9256,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9274,7 +9274,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue, public IfcSizeSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9289,7 +9289,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9302,7 +9302,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9316,7 +9316,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9329,7 +9329,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcRotationalStiffnessSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9342,7 +9342,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9355,7 +9355,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9368,7 +9368,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9383,7 +9383,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9392,7 +9392,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9405,7 +9405,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9414,7 +9414,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9427,7 +9427,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9440,7 +9440,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9455,7 +9455,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9472,7 +9472,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9485,7 +9485,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9498,7 +9498,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9517,7 +9517,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9535,7 +9535,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9556,7 +9556,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9583,7 +9583,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9601,7 +9601,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9614,7 +9614,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9627,7 +9627,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9639,7 +9639,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9651,7 +9651,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9664,7 +9664,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9679,7 +9679,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9695,7 +9695,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9710,7 +9710,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9722,7 +9722,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9735,7 +9735,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9750,7 +9750,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9763,7 +9763,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9778,7 +9778,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9791,7 +9791,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9804,7 +9804,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9817,7 +9817,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcWarpingStiffnessSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcDerivedMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9850,7 +9850,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9863,7 +9863,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcColourOrFactor, public IfcValue, public IfcMetricValueSelect, public IfcMeasureValue, public IfcSizeSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9877,7 +9877,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcValue, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcMetricValueSelect, public IfcSizeSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9897,7 +9897,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9924,7 +9924,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Purpose() const; @@ -9949,7 +9949,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc1::IfcOrganization* ApplicationDeveloper() const; @@ -9983,7 +9983,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -10031,7 +10031,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -10092,7 +10092,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -10113,7 +10113,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -10149,7 +10149,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -10176,7 +10176,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -10211,7 +10211,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4x3_rc1::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -10236,7 +10236,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10260,7 +10260,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -10282,7 +10282,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -10302,7 +10302,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -10328,7 +10328,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10408,7 +10408,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -10444,7 +10444,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10515,7 +10515,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10530,7 +10530,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr Elements() const; @@ -10555,7 +10555,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc1::IfcNamedUnit* Unit() const; @@ -10586,7 +10586,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10621,7 +10621,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10638,7 +10638,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10674,7 +10674,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10689,7 +10689,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10704,7 +10704,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10735,7 +10735,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10759,7 +10759,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10781,7 +10781,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10819,7 +10819,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10856,7 +10856,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10878,7 +10878,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10903,7 +10903,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -10941,7 +10941,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -10979,7 +10979,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMaterialSelect, public IfcResourceObjectSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -11013,7 +11013,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4x3_rc1::IfcMaterial* Material() const; @@ -11084,7 +11084,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -11146,7 +11146,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -11177,7 +11177,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Materials() const; @@ -11193,7 +11193,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -11225,7 +11225,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -11253,7 +11253,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -11295,7 +11295,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -11314,7 +11314,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc1::IfcValue* ValueComponent() const; @@ -11380,7 +11380,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc1::IfcBenchmarkEnum::Value Benchmark() const; @@ -11404,7 +11404,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -11420,7 +11420,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc1::IfcDimensionalExponents* Dimensions() const; @@ -11445,7 +11445,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: ::Ifc4x3_rc1::IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x3_rc1::IfcObjectPlacement* v); @@ -11465,7 +11465,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11492,7 +11492,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcActorSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11529,7 +11529,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcPersonAndOrganization* OwningUser() const; @@ -11570,7 +11570,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcActorSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11614,7 +11614,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcActorSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// The person who is related to the organization. ::Ifc4x3_rc1::IfcPerson* ThePerson() const; @@ -11636,7 +11636,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11661,7 +11661,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4x3_rc1::IfcNamedUnit* Unit() const; @@ -11675,7 +11675,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11711,7 +11711,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11734,7 +11734,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11767,7 +11767,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11796,7 +11796,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11812,7 +11812,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. aggregate_of_instance::ptr Styles() const; @@ -11840,7 +11840,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -12027,7 +12027,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4x3_rc1::IfcProfileTypeEnum::Value ProfileType() const; @@ -12066,7 +12066,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -12091,7 +12091,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -12146,7 +12146,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -12168,7 +12168,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -12189,7 +12189,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -12210,7 +12210,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -12231,7 +12231,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -12252,7 +12252,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -12273,7 +12273,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -12295,7 +12295,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -12341,7 +12341,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -12405,7 +12405,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc1::IfcRepresentationContext* ContextOfItems() const; @@ -12439,7 +12439,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12486,7 +12486,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12507,7 +12507,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12527,7 +12527,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12550,7 +12550,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12581,7 +12581,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > Prefix() const; @@ -12600,7 +12600,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12655,7 +12655,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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 @@ -12701,7 +12701,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12845,7 +12845,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12856,7 +12856,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12870,7 +12870,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12892,7 +12892,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12909,7 +12909,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12920,7 +12920,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12933,7 +12933,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -12961,7 +12961,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12997,7 +12997,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -13028,7 +13028,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13041,7 +13041,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -13065,7 +13065,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc1::IfcSurfaceSide::Value Side() const; @@ -13090,7 +13090,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -13119,7 +13119,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -13140,7 +13140,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc1::IfcColourRgb* SurfaceColour() const; @@ -13171,7 +13171,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr Textures() const; @@ -13274,7 +13274,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -13325,7 +13325,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -13347,7 +13347,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -13382,7 +13382,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -13404,7 +13404,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13520,7 +13520,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4x3_rc1::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4x3_rc1::IfcRecurrencePattern* v); @@ -13536,7 +13536,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13593,7 +13593,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// A character style to be used for presented text. ::Ifc4x3_rc1::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13635,7 +13635,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc1::IfcColour* Colour() const; @@ -13656,7 +13656,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13703,7 +13703,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v); @@ -13739,7 +13739,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13808,7 +13808,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13850,7 +13850,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13862,7 +13862,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13878,7 +13878,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13897,7 +13897,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// An unique name for the time series. std::string Name() const; @@ -13939,7 +13939,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -13955,7 +13955,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13997,7 +13997,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14010,7 +14010,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -14031,7 +14031,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14048,7 +14048,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc1::IfcPoint* VertexGeometry() const; @@ -14118,7 +14118,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr IntersectingAxes() const; @@ -14140,7 +14140,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -14168,7 +14168,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4x3_rc1::IfcApproval* RelatingApproval() const; @@ -14200,7 +14200,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc1::IfcCurve* OuterCurve() const; @@ -14226,7 +14226,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4x3_rc1::IfcBoundedCurve* Curve() const; @@ -14256,7 +14256,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr InnerCurves() const; @@ -14276,7 +14276,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -14319,7 +14319,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -14345,7 +14345,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationReferenceSelect, public IfcClassificationSelect { public: /// Source (or publisher) for this classification. /// @@ -14424,7 +14424,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationReferenceSelect, public IfcClassificationSelect { public: /// The classification system or source that is referenced. ::Ifc4x3_rc1::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -14445,7 +14445,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14460,7 +14460,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcFillStyleSelect, public IfcColour { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14510,7 +14510,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Profiles() const; @@ -14533,7 +14533,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr CfsFaces() const; @@ -14557,7 +14557,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14590,7 +14590,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14614,7 +14614,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14673,7 +14673,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14706,7 +14706,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14728,7 +14728,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14770,7 +14770,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// 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. ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14794,7 +14794,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14819,7 +14819,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -14841,7 +14841,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -14943,7 +14943,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc1::IfcProfileDef* ParentProfile() const; @@ -14963,7 +14963,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -15047,7 +15047,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc1::IfcDocumentInformation* RelatingDocument() const; @@ -15075,7 +15075,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -15141,7 +15141,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4x3_rc1::IfcVertex* EdgeStart() const; @@ -15188,7 +15188,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4x3_rc1::IfcCurve* EdgeGeometry() const; @@ -15225,7 +15225,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -15248,7 +15248,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -15269,7 +15269,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -15329,7 +15329,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr Bounds() const; @@ -15346,7 +15346,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4x3_rc1::IfcLoop* Bound() const; @@ -15365,7 +15365,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15409,7 +15409,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4x3_rc1::IfcSurface* FaceSurface() const; @@ -15430,7 +15430,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15490,7 +15490,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15550,7 +15550,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15593,7 +15593,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15614,7 +15614,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc1::IfcGeometricRepresentationContext* ParentContext() const; @@ -15651,7 +15651,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15707,7 +15707,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc1::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15738,7 +15738,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4x3_rc1::IfcSurface* BaseSurface() const; @@ -15787,7 +15787,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15799,7 +15799,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x3_rc1::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v); @@ -15816,7 +15816,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4x3_rc1::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v); @@ -15829,7 +15829,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -15844,7 +15844,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15892,7 +15892,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -15915,7 +15915,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -15943,7 +15943,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15960,7 +15960,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -15979,7 +15979,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc1::IfcAxis2Placement3D* Position() const; @@ -16020,7 +16020,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16060,7 +16060,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -16084,7 +16084,7 @@ public: typedef aggregate_of< IfcLightSourceSpot > list; }; -class IFC_PARSE_API IfcLinearAxisWithInclination : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLinearAxisWithInclination : public IfcGeometricRepresentationItem, public IfcLinearAxisSelect { public: ::Ifc4x3_rc1::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc1::IfcCurve* v); @@ -16097,7 +16097,7 @@ public: typedef aggregate_of< IfcLinearAxisWithInclination > list; }; -class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x3_rc1::IfcCurve* PlacementMeasuredAlong() const; void setPlacementMeasuredAlong(::Ifc4x3_rc1::IfcCurve* v); @@ -16114,7 +16114,7 @@ public: typedef aggregate_of< IfcLinearPlacement > list; }; -class IFC_PARSE_API IfcLinearPlacementWithInclination : public IfcLinearPlacement { +class IFC_PARSE_API IfcLinearPlacementWithInclination : public IfcLinearPlacement { public: ::Ifc4x3_rc1::IfcAxisLateralInclination* Inclinating() const; void setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v); @@ -16125,7 +16125,7 @@ public: typedef aggregate_of< IfcLinearPlacementWithInclination > list; }; -class IFC_PARSE_API IfcLinearSpanPlacement : public IfcLinearPlacement { +class IFC_PARSE_API IfcLinearSpanPlacement : public IfcLinearPlacement { public: double Span() const; void setSpan(double v); @@ -16187,7 +16187,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4x3_rc1::IfcAxis2Placement* RelativePlacement() const; @@ -16224,7 +16224,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16251,7 +16251,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcRepresentationMap* MappingSource() const; @@ -16292,7 +16292,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -16327,7 +16327,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -16365,7 +16365,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -16412,7 +16412,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4x3_rc1::IfcMaterial* RepresentedMaterial() const; @@ -16523,7 +16523,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc1::IfcMaterialLayerSet* ForLayerSet() const; @@ -16565,7 +16565,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc1::IfcMaterialProfileSet* ForProfileSet() const; @@ -16612,7 +16612,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc1::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16648,7 +16648,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16664,7 +16664,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4x3_rc1::IfcMaterial* RelatingMaterial() const; @@ -16708,7 +16708,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16766,7 +16766,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16782,7 +16782,7 @@ public: typedef aggregate_of< IfcObjectDefinition > list; }; -class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: bool HorizontalWidths() const; void setHorizontalWidths(bool v); @@ -16857,7 +16857,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16871,7 +16871,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc1::IfcOrganization* RelatingOrganization() const; @@ -16886,7 +16886,7 @@ public: typedef aggregate_of< IfcOrganizationRelationship > list; }; -class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { public: ::Ifc4x3_rc1::IfcDirection* LateralAxisDirection() const; void setLateralAxisDirection(::Ifc4x3_rc1::IfcDirection* v); @@ -16905,7 +16905,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc1::IfcEdge* EdgeElement() const; @@ -16961,7 +16961,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc1::IfcAxis2Placement2D* Position() const; @@ -16986,7 +16986,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr EdgeList() const; @@ -17006,7 +17006,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -17044,7 +17044,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -17075,7 +17075,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc1::IfcCartesianPoint* Location() const; @@ -17091,7 +17091,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -17110,7 +17110,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcPointOrVertexPoint, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17127,7 +17127,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4x3_rc1::IfcCurve* BasisCurve() const; @@ -17150,7 +17150,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4x3_rc1::IfcSurface* BasisSurface() const; @@ -17206,7 +17206,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Polygon() const; @@ -17273,7 +17273,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc1::IfcAxis2Placement3D* Position() const; @@ -17296,7 +17296,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -17308,7 +17308,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17327,7 +17327,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17347,7 +17347,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -17368,7 +17368,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4x3_rc1::IfcProfileDef* ProfileDefinition() const; @@ -17382,7 +17382,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -17452,7 +17452,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -17470,7 +17470,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4x3_rc1::IfcProperty* DependingProperty() const; @@ -17529,7 +17529,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17565,7 +17565,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17574,7 +17574,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17616,7 +17616,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17635,7 +17635,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17654,7 +17654,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17688,7 +17688,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17702,7 +17702,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17736,7 +17736,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4x3_rc1::IfcConstraint* RelatingConstraint() const; @@ -17752,7 +17752,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -17842,7 +17842,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -17858,7 +17858,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc1::IfcSectionTypeEnum::Value SectionType() const; @@ -17882,7 +17882,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -17961,7 +17961,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcCompositeCurve* SpineCurve() const; @@ -17990,7 +17990,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -18003,7 +18003,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18020,7 +18020,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -18042,7 +18042,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18055,7 +18055,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -18086,7 +18086,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -18108,7 +18108,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -18137,7 +18137,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -18154,7 +18154,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -18188,7 +18188,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -18209,7 +18209,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc1::IfcEdge* ParentEdge() const; @@ -18230,7 +18230,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18283,7 +18283,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -18340,7 +18340,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcProfileDef* SweptArea() const; @@ -18407,7 +18407,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc1::IfcCurve* Directrix() const; @@ -18444,7 +18444,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -18460,7 +18460,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcProfileDef* SweptCurve() const; @@ -18502,7 +18502,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18538,7 +18538,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18556,7 +18556,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18583,7 +18583,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc1::IfcPlanarExtent* Extent() const; @@ -18662,7 +18662,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18726,7 +18726,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18777,7 +18777,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -18828,7 +18828,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -18914,7 +18914,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -18941,7 +18941,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -18989,7 +18989,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -19025,7 +19025,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcHatchLineDistanceSelect, public IfcVectorOrDirection { public: /// The direction of the vector. ::Ifc4x3_rc1::IfcDirection* Orientation() const; @@ -19051,7 +19051,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4x3_rc1::IfcVertex* LoopVertex() const; @@ -19080,7 +19080,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -19125,7 +19125,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -19164,7 +19164,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19173,7 +19173,7 @@ public: typedef aggregate_of< IfcAdvancedFace > list; }; -class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { public: boost::optional< double > StartDistAlong() const; void setStartDistAlong(boost::optional< double > v); @@ -19187,7 +19187,7 @@ public: typedef aggregate_of< IfcAlignment2DHorizontal > list; }; -class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { public: boost::optional< bool > TangentialContinuity() const; void setTangentialContinuity(boost::optional< bool > v); @@ -19202,7 +19202,7 @@ public: typedef aggregate_of< IfcAlignment2DSegment > list; }; -class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { public: aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr Segments() const; void setSegments(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr v); @@ -19214,7 +19214,7 @@ public: typedef aggregate_of< IfcAlignment2DVertical > list; }; -class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -19251,7 +19251,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -19306,7 +19306,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -19350,7 +19350,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4x3_rc1::IfcDirection* Axis() const; @@ -19372,7 +19372,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4x3_rc1::IfcDirection* RefDirection() const; @@ -19396,7 +19396,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4x3_rc1::IfcDirection* Axis() const; @@ -19411,7 +19411,7 @@ public: typedef aggregate_of< IfcAxis2Placement3D > list; }; -class IFC_PARSE_API IfcAxisLateralInclination : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAxisLateralInclination : public IfcGeometricRepresentationItem { public: aggregate_of< IfcLinearAxisWithInclination >::ptr ToLinearAxis() const; // INVERSE IfcLinearAxisWithInclination::Inclinating virtual const IfcParse::entity& declaration() const; @@ -19446,7 +19446,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc1::IfcBooleanOperator::Value Operator() const; @@ -19475,7 +19475,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19505,7 +19505,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc1::IfcCartesianPoint* Corner() const; @@ -19555,7 +19555,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc1::IfcBoundingBox* Enclosure() const; @@ -19588,7 +19588,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -19618,7 +19618,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19630,7 +19630,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19639,7 +19639,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19652,7 +19652,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19694,7 +19694,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc1::IfcDirection* Axis1() const; @@ -19719,7 +19719,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19737,7 +19737,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19753,7 +19753,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc1::IfcDirection* Axis3() const; @@ -19775,7 +19775,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19801,7 +19801,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19861,7 +19861,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcShell, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19877,7 +19877,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -19905,7 +19905,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -19927,7 +19927,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcTransitionCode::Value Transition() const; @@ -19962,7 +19962,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v); @@ -19987,7 +19987,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -20026,7 +20026,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -20042,7 +20042,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc1::IfcAxis2Placement3D* Position() const; @@ -20094,7 +20094,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4x3_rc1::IfcCsgSelect* TreeRootExpression() const; @@ -20115,7 +20115,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcLinearAxisSelect, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20136,7 +20136,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4x3_rc1::IfcPlane* BasisSurface() const; @@ -20174,7 +20174,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4x3_rc1::IfcSurface* BasisSurface() const; @@ -20197,7 +20197,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcVectorOrDirection, public IfcGridPlacementDirectionSelect { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -20209,7 +20209,7 @@ public: typedef aggregate_of< IfcDirection > list; }; -class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc1::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc1::IfcCurve* v); @@ -20224,7 +20224,7 @@ public: typedef aggregate_of< IfcDirectrixCurveSweptAreaSolid > list; }; -class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc1::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc1::IfcCurve* v); @@ -20239,7 +20239,7 @@ public: typedef aggregate_of< IfcDirectrixDistanceSweptAreaSolid > list; }; -class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { public: double DistanceAlong() const; void setDistanceAlong(double v); @@ -20283,7 +20283,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -20314,7 +20314,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr EdgeList() const; @@ -20402,7 +20402,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -20440,7 +20440,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -20456,7 +20456,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc1::IfcAxis2Placement3D* Position() const; @@ -20483,7 +20483,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -20503,7 +20503,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -20592,7 +20592,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc1::IfcDirection* ExtrudedDirection() const; @@ -20705,7 +20705,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcProfileDef* EndSweptArea() const; @@ -20728,7 +20728,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20786,7 +20786,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc1::IfcCurveStyle* HatchLineAppearance() const; @@ -20822,7 +20822,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4x3_rc1::IfcVector >::ptr TilingPattern() const; @@ -20897,7 +20897,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc1::IfcDirection* FixedReference() const; @@ -20936,7 +20936,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20981,7 +20981,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -21055,7 +21055,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -21073,7 +21073,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21144,7 +21144,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -21172,7 +21172,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { +class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { public: boost::optional< bool > FixedAxisVertical() const; void setFixedAxisVertical(boost::optional< bool > v); @@ -21185,7 +21185,7 @@ public: typedef aggregate_of< IfcInclinedReferenceSweptAreaSolid > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -21197,7 +21197,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -21258,7 +21258,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -21295,7 +21295,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -21319,7 +21319,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4x3_rc1::IfcCartesianPoint* Pnt() const; @@ -21396,7 +21396,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcClosedShell* Outer() const; @@ -21489,7 +21489,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -21505,7 +21505,7 @@ public: typedef aggregate_of< IfcObject > list; }; -class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: ::Ifc4x3_rc1::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc1::IfcCurve* v); @@ -21526,7 +21526,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -21555,7 +21555,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -21573,7 +21573,7 @@ public: typedef aggregate_of< IfcOffsetCurve3D > list; }; -class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr OffsetValues() const; void setOffsetValues(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v); @@ -21592,7 +21592,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc1::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x3_rc1::IfcSurface* v); @@ -21610,7 +21610,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -21658,7 +21658,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21671,7 +21671,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcFillStyleSelect, public IfcColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21686,7 +21686,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21714,7 +21714,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21735,7 +21735,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21787,7 +21787,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -21900,7 +21900,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcSpatialReferenceSelect, public IfcProductSelect { public: /// 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. ::Ifc4x3_rc1::IfcObjectPlacement* ObjectPlacement() const; @@ -21961,7 +21961,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21993,7 +21993,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22105,7 +22105,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4x3_rc1::IfcValue* UpperBoundValue() const; @@ -22204,7 +22204,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -22285,7 +22285,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -22316,7 +22316,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -22385,7 +22385,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr HasProperties() const; @@ -22427,7 +22427,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -22499,7 +22499,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -22633,7 +22633,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -22689,7 +22689,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22715,7 +22715,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcObjectTypeEnum::Value ProxyType() const; @@ -22749,7 +22749,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22854,7 +22854,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22886,7 +22886,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4x3_rc1::IfcSurface* BasisSurface() const; @@ -22941,7 +22941,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -22966,7 +22966,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -22990,7 +22990,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc1::IfcActor* RelatingActor() const; @@ -23009,7 +23009,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc1::IfcControl* RelatingControl() const; @@ -23033,7 +23033,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4x3_rc1::IfcGroup* RelatingGroup() const; @@ -23053,7 +23053,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -23086,7 +23086,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -23110,7 +23110,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -23129,7 +23129,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -23183,7 +23183,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -23199,7 +23199,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc1::IfcApproval* RelatingApproval() const; @@ -23240,7 +23240,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4x3_rc1::IfcClassificationSelect* RelatingClassification() const; @@ -23254,7 +23254,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -23275,7 +23275,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4x3_rc1::IfcDocumentSelect* RelatingDocument() const; @@ -23293,7 +23293,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc1::IfcLibrarySelect* RelatingLibrary() const; @@ -23398,7 +23398,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4x3_rc1::IfcMaterialSelect* RelatingMaterial() const; @@ -23410,7 +23410,7 @@ public: typedef aggregate_of< IfcRelAssociatesMaterial > list; }; -class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: ::Ifc4x3_rc1::IfcProfileDef* RelatingProfileDef() const; void setRelatingProfileDef(::Ifc4x3_rc1::IfcProfileDef* v); @@ -23423,7 +23423,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23453,7 +23453,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4x3_rc1::IfcConnectionGeometry* ConnectionGeometry() const; @@ -23500,7 +23500,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23545,7 +23545,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc1::IfcPort* RelatingPort() const; @@ -23574,7 +23574,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc1::IfcPort* RelatingPort() const; @@ -23594,7 +23594,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -23632,7 +23632,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc1::IfcStructuralMember* RelatingStructuralMember() const; @@ -23675,7 +23675,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4x3_rc1::IfcConnectionGeometry* ConnectionConstraint() const; @@ -23709,7 +23709,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr RealizingElements() const; @@ -23783,7 +23783,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23815,7 +23815,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23857,7 +23857,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -23884,7 +23884,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc1::IfcContext* RelatingContext() const; @@ -23928,7 +23928,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23963,7 +23963,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23986,7 +23986,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr RelatedObjects() const; @@ -24015,7 +24015,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -24041,7 +24041,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -24124,7 +24124,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v); @@ -24146,7 +24146,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc1::IfcOpeningElement* RelatingOpeningElement() const; @@ -24169,7 +24169,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -24230,7 +24230,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcInterferenceSelect* RelatingElement() const; @@ -24278,7 +24278,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -24297,7 +24297,7 @@ public: typedef aggregate_of< IfcRelNests > list; }; -class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { +class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: ::Ifc4x3_rc1::IfcPositioningElement* RelatingPositioningElement() const; void setRelatingPositioningElement(::Ifc4x3_rc1::IfcPositioningElement* v); @@ -24341,7 +24341,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc1::IfcElement* RelatingElement() const; @@ -24404,7 +24404,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -24475,7 +24475,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4x3_rc1::IfcProcess* RelatingProcess() const; @@ -24529,7 +24529,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4x3_rc1::IfcSystem* RelatingSystem() const; @@ -24709,7 +24709,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc1::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24785,7 +24785,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24829,7 +24829,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24848,7 +24848,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4x3_rc1::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x3_rc1::IfcElement* v); @@ -24883,7 +24883,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -24906,7 +24906,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -25002,7 +25002,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4x3_rc1::IfcAxis1Placement* Axis() const; @@ -25074,7 +25074,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4x3_rc1::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4x3_rc1::IfcProfileDef* v); @@ -25149,7 +25149,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -25244,7 +25244,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -25259,7 +25259,7 @@ public: typedef aggregate_of< IfcRightCircularCylinder > list; }; -class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x3_rc1::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc1::IfcCurve* v); @@ -25272,7 +25272,7 @@ public: typedef aggregate_of< IfcSectionedSolid > list; }; -class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { +class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr CrossSectionPositions() const; void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v); @@ -25285,7 +25285,7 @@ public: typedef aggregate_of< IfcSectionedSolidHorizontal > list; }; -class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { +class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: ::Ifc4x3_rc1::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc1::IfcCurve* v); @@ -25346,7 +25346,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -25432,7 +25432,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct, public IfcInterferenceSelect { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -25479,7 +25479,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -25564,7 +25564,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -25612,7 +25612,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25669,7 +25669,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -25710,7 +25710,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25773,7 +25773,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25785,7 +25785,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -25888,7 +25888,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -26008,7 +26008,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -26021,7 +26021,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -26050,7 +26050,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26078,7 +26078,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -26110,7 +26110,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26140,7 +26140,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -26162,7 +26162,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -26174,7 +26174,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc1::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x3_rc1::IfcCurve* v); @@ -26250,7 +26250,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The surface containing the Directrix. ::Ifc4x3_rc1::IfcSurface* ReferenceSurface() const; @@ -26274,7 +26274,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4x3_rc1::IfcDirection* ExtrudedDirection() const; @@ -26305,7 +26305,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc1::IfcAxis1Placement* AxisPosition() const; @@ -26346,7 +26346,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -26601,7 +26601,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -26688,7 +26688,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -26704,7 +26704,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4x3_rc1::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x3_rc1::IfcCartesianPointList3D* v); @@ -26717,7 +26717,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26792,7 +26792,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcTransportElementTypeSelect* PredefinedType() const; @@ -26804,7 +26804,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26821,7 +26821,7 @@ public: typedef aggregate_of< IfcTriangulatedFaceSet > list; }; -class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { +class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: std::vector< int > /*[1:?]*/ Flags() const; void setFlags(std::vector< int > /*[1:?]*/ v); @@ -26929,7 +26929,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -27026,7 +27026,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -27066,7 +27066,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4x3_rc1::IfcActorSelect* TheActor() const; @@ -27111,7 +27111,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27140,7 +27140,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v); @@ -27151,7 +27151,7 @@ public: typedef aggregate_of< IfcAdvancedBrepWithVoids > list; }; -class IFC_PARSE_API IfcAlignment2DCant : public IfcAxisLateralInclination { +class IFC_PARSE_API IfcAlignment2DCant : public IfcAxisLateralInclination { public: aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr Segments() const; void setSegments(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr v); @@ -27164,7 +27164,7 @@ public: typedef aggregate_of< IfcAlignment2DCant > list; }; -class IFC_PARSE_API IfcAlignment2DCantSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DCantSegment : public IfcAlignment2DSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -27186,7 +27186,7 @@ public: typedef aggregate_of< IfcAlignment2DCantSegment > list; }; -class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { +class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { public: ::Ifc4x3_rc1::IfcCurveSegment2D* CurveGeometry() const; void setCurveGeometry(::Ifc4x3_rc1::IfcCurveSegment2D* v); @@ -27198,7 +27198,7 @@ public: typedef aggregate_of< IfcAlignment2DHorizontalSegment > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { public: double Radius() const; void setRadius(double v); @@ -27211,7 +27211,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegCircularArc > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27220,7 +27220,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegLine > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { public: double ParabolaConstant() const; void setParabolaConstant(double v); @@ -27233,7 +27233,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegParabolicArc > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegTransition : public IfcAlignment2DVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegTransition : public IfcAlignment2DVerticalSegment { public: boost::optional< double > StartRadius() const; void setStartRadius(boost::optional< double > v); @@ -27424,7 +27424,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v); @@ -27504,7 +27504,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -27540,7 +27540,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -27660,7 +27660,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27684,7 +27684,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27702,7 +27702,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: aggregate_of< IfcLinearPositioningElement >::ptr PositioningElement() const; // INVERSE IfcLinearPositioningElement::Axis virtual const IfcParse::entity& declaration() const; @@ -27888,7 +27888,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -27900,7 +27900,7 @@ public: typedef aggregate_of< IfcBuildingStorey > list; }; -class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { +class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27933,7 +27933,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -27962,7 +27962,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -27974,7 +27974,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28080,7 +28080,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc1::IfcColumnTypeEnum::Value PredefinedType() const; @@ -28099,7 +28099,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -28180,7 +28180,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr Segments() const; @@ -28205,7 +28205,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28218,7 +28218,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4x3_rc1::IfcAxis2Placement* Position() const; @@ -28242,7 +28242,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -28266,7 +28266,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -28290,7 +28290,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -28373,7 +28373,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4x3_rc1::IfcResourceTime* Usage() const; void setUsage(::Ifc4x3_rc1::IfcResourceTime* v); @@ -28397,7 +28397,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -28448,7 +28448,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -28498,7 +28498,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -28531,7 +28531,7 @@ public: typedef aggregate_of< IfcCostSchedule > list; }; -class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: ::Ifc4x3_rc1::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcCourseTypeEnum::Value v); @@ -28620,7 +28620,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -28641,7 +28641,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -28674,7 +28674,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28686,7 +28686,7 @@ public: typedef aggregate_of< IfcCurtainWallType > list; }; -class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { +class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: ::Ifc4x3_rc1::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x3_rc1::IfcCartesianPoint* v); @@ -28754,7 +28754,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28766,7 +28766,7 @@ public: typedef aggregate_of< IfcCylindricalSurface > list; }; -class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28802,7 +28802,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28875,7 +28875,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28978,7 +28978,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -29076,7 +29076,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -29229,7 +29229,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc1::IfcDoorTypeEnum::Value PredefinedType() const; @@ -29319,7 +29319,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29340,7 +29340,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29401,7 +29401,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcInterferenceSelect, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -29517,7 +29517,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -29555,7 +29555,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -29643,7 +29643,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29660,7 +29660,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29695,7 +29695,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29732,7 +29732,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29766,7 +29766,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc1::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcEngineTypeEnum::Value v); @@ -29802,7 +29802,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29839,7 +29839,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29927,7 +29927,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -29956,7 +29956,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29988,7 +29988,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30020,7 +30020,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr Voids() const; @@ -30032,7 +30032,7 @@ public: typedef aggregate_of< IfcFacetedBrepWithVoids > list; }; -class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30041,7 +30041,7 @@ public: typedef aggregate_of< IfcFacility > list; }; -class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: ::Ifc4x3_rc1::IfcFacilityPartTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v); @@ -30061,7 +30061,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -30095,7 +30095,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -30200,7 +30200,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30263,7 +30263,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -30322,7 +30322,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -30353,7 +30353,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30384,7 +30384,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30424,7 +30424,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -30457,7 +30457,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30496,7 +30496,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30511,7 +30511,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30526,7 +30526,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30542,7 +30542,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30559,7 +30559,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: /// Subtype of footing. ::Ifc4x3_rc1::IfcFootingTypeEnum::Value PredefinedType() const; @@ -30674,7 +30674,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30713,7 +30713,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v); @@ -30863,7 +30863,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30875,7 +30875,7 @@ public: typedef aggregate_of< IfcGeographicElement > list; }; -class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { +class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30884,7 +30884,7 @@ public: typedef aggregate_of< IfcGeotechnicalElement > list; }; -class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30922,7 +30922,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -30960,7 +30960,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -30997,7 +30997,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -31009,7 +31009,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { +class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v); @@ -31020,7 +31020,7 @@ public: typedef aggregate_of< IfcImpactProtectionDevice > list; }; -class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { +class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v); @@ -31031,7 +31031,7 @@ public: typedef aggregate_of< IfcImpactProtectionDeviceType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc1::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v); @@ -31078,7 +31078,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v); @@ -31089,7 +31089,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31108,7 +31108,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -31165,7 +31165,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -31177,7 +31177,7 @@ public: typedef aggregate_of< IfcJunctionBoxType > list; }; -class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { +class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: bool Mountable() const; void setMountable(bool v); @@ -31211,7 +31211,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -31252,7 +31252,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc1::IfcLampTypeEnum::Value PredefinedType() const; @@ -31294,7 +31294,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -31306,7 +31306,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31315,7 +31315,7 @@ public: typedef aggregate_of< IfcLineSegment2D > list; }; -class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v); @@ -31326,7 +31326,7 @@ public: typedef aggregate_of< IfcLiquidTerminalType > list; }; -class IFC_PARSE_API IfcMarineFacility : public IfcFacility { +class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v); @@ -31365,7 +31365,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -31415,7 +31415,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -31458,7 +31458,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v); @@ -31569,7 +31569,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc1::IfcMemberTypeEnum::Value PredefinedType() const; @@ -31581,7 +31581,7 @@ public: typedef aggregate_of< IfcMemberType > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v); @@ -31592,7 +31592,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsApplianceType > list; }; -class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v); @@ -31629,7 +31629,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -31641,7 +31641,7 @@ public: typedef aggregate_of< IfcMotorConnectionType > list; }; -class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v); @@ -31658,7 +31658,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31873,7 +31873,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -31980,7 +31980,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32017,7 +32017,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc1::IfcOutletTypeEnum::Value PredefinedType() const; @@ -32029,7 +32029,7 @@ public: typedef aggregate_of< IfcOutletType > list; }; -class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: bool Flexible() const; void setFlexible(bool v); @@ -32044,7 +32044,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -32091,7 +32091,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -32151,7 +32151,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -32181,7 +32181,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: /// Subtype of pile. ::Ifc4x3_rc1::IfcPileTypeEnum::Value PredefinedType() const; @@ -32221,7 +32221,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -32265,7 +32265,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -32277,7 +32277,7 @@ public: typedef aggregate_of< IfcPipeSegmentType > list; }; -class IFC_PARSE_API IfcPlant : public IfcGeographicElement { +class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32362,7 +32362,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc1::IfcPlateTypeEnum::Value PredefinedType() const; @@ -32374,7 +32374,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -32402,7 +32402,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Points() const; @@ -32466,7 +32466,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -32478,7 +32478,7 @@ public: typedef aggregate_of< IfcPort > list; }; -class IFC_PARSE_API IfcPositioningElement : public IfcProduct { +class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements aggregate_of< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement @@ -32592,7 +32592,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -32647,7 +32647,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -32781,7 +32781,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32829,7 +32829,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32868,7 +32868,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4x3_rc1::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32880,7 +32880,7 @@ public: typedef aggregate_of< IfcPumpType > list; }; -class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: ::Ifc4x3_rc1::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcRailTypeEnum::Value v); @@ -32910,7 +32910,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc1::IfcRailingTypeEnum::Value PredefinedType() const; @@ -32922,7 +32922,7 @@ public: typedef aggregate_of< IfcRailingType > list; }; -class IFC_PARSE_API IfcRailway : public IfcFacility { +class IFC_PARSE_API IfcRailway : public IfcFacility { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32950,7 +32950,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -32994,7 +32994,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc1::IfcRampTypeEnum::Value PredefinedType() const; @@ -33018,7 +33018,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -33030,7 +33030,7 @@ public: typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; -class IFC_PARSE_API IfcReferent : public IfcPositioningElement { +class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v); @@ -33050,7 +33050,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -33063,7 +33063,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33095,7 +33095,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -33133,7 +33133,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -33194,7 +33194,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -33213,7 +33213,7 @@ public: typedef aggregate_of< IfcRelAggregates > list; }; -class IFC_PARSE_API IfcRoad : public IfcFacility { +class IFC_PARSE_API IfcRoad : public IfcFacility { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33253,7 +33253,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc1::IfcRoofTypeEnum::Value PredefinedType() const; @@ -33301,7 +33301,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -33313,7 +33313,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33342,7 +33342,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -33354,7 +33354,7 @@ public: typedef aggregate_of< IfcShadingDeviceType > list; }; -class IFC_PARSE_API IfcSign : public IfcElementComponent { +class IFC_PARSE_API IfcSign : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v); @@ -33365,7 +33365,7 @@ public: typedef aggregate_of< IfcSign > list; }; -class IFC_PARSE_API IfcSignType : public IfcElementComponentType { +class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: ::Ifc4x3_rc1::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcSignTypeEnum::Value v); @@ -33376,7 +33376,7 @@ public: typedef aggregate_of< IfcSignType > list; }; -class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc1::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcSignalTypeEnum::Value v); @@ -33575,7 +33575,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -33678,7 +33678,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc1::IfcSlabTypeEnum::Value PredefinedType() const; @@ -33715,7 +33715,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v); @@ -33726,7 +33726,7 @@ public: typedef aggregate_of< IfcSolarDeviceType > list; }; -class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33984,7 +33984,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34034,7 +34034,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -34126,7 +34126,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -34165,7 +34165,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -34196,7 +34196,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -34240,7 +34240,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc1::IfcStairTypeEnum::Value PredefinedType() const; @@ -34270,7 +34270,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -34284,7 +34284,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4x3_rc1::IfcBoundaryCondition* AppliedCondition() const; @@ -34352,7 +34352,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34383,7 +34383,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -34433,7 +34433,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -34469,7 +34469,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34527,7 +34527,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -34545,7 +34545,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34586,7 +34586,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -34656,7 +34656,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34677,7 +34677,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4x3_rc1::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -34731,7 +34731,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34743,7 +34743,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -34813,7 +34813,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34839,7 +34839,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34871,7 +34871,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -34915,7 +34915,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -34966,7 +34966,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -34994,7 +34994,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup, public IfcSpatialReferenceSelect { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements @@ -35028,7 +35028,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -35070,7 +35070,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4x3_rc1::IfcTankTypeEnum::Value PredefinedType() const; @@ -35082,7 +35082,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v); @@ -35107,7 +35107,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v); @@ -35118,7 +35118,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v); @@ -35129,7 +35129,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v); @@ -35140,7 +35140,7 @@ public: typedef aggregate_of< IfcTendonConduit > list; }; -class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v); @@ -35151,7 +35151,7 @@ public: typedef aggregate_of< IfcTendonConduitType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x3_rc1::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcTendonTypeEnum::Value v); @@ -35168,7 +35168,7 @@ public: typedef aggregate_of< IfcTendonType > list; }; -class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v); @@ -35205,7 +35205,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -35217,7 +35217,7 @@ public: typedef aggregate_of< IfcTransformerType > list; }; -class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: boost::optional< double > StartRadius() const; void setStartRadius(boost::optional< double > v); @@ -35351,7 +35351,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -35442,7 +35442,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4x3_rc1::IfcCurve* BasisCurve() const; @@ -35494,7 +35494,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -35533,7 +35533,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -35582,7 +35582,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4x3_rc1::IfcValveTypeEnum::Value PredefinedType() const; @@ -35594,7 +35594,7 @@ public: typedef aggregate_of< IfcValveType > list; }; -class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v); @@ -35605,7 +35605,7 @@ public: typedef aggregate_of< IfcVibrationDamper > list; }; -class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v); @@ -35649,7 +35649,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v); @@ -35681,7 +35681,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -35778,7 +35778,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35787,7 +35787,7 @@ public: typedef aggregate_of< IfcVirtualElement > list; }; -class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35827,7 +35827,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -35922,7 +35922,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc1::IfcWallTypeEnum::Value PredefinedType() const; @@ -35969,7 +35969,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -35981,7 +35981,7 @@ public: typedef aggregate_of< IfcWasteTerminalType > list; }; -class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36110,7 +36110,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc1::IfcWindowTypeEnum::Value PredefinedType() const; @@ -36141,7 +36141,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -36209,7 +36209,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -36263,7 +36263,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -36315,7 +36315,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -36412,7 +36412,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -36465,7 +36465,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -36518,7 +36518,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -36555,7 +36555,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v); @@ -36591,7 +36591,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -36603,7 +36603,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAlignment2DCantSegLine : public IfcAlignment2DCantSegment { +class IFC_PARSE_API IfcAlignment2DCantSegLine : public IfcAlignment2DCantSegment { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36612,7 +36612,7 @@ public: typedef aggregate_of< IfcAlignment2DCantSegLine > list; }; -class IFC_PARSE_API IfcAlignment2DCantSegTransition : public IfcAlignment2DCantSegment { +class IFC_PARSE_API IfcAlignment2DCantSegTransition : public IfcAlignment2DCantSegment { public: boost::optional< double > StartRadius() const; void setStartRadius(boost::optional< double > v); @@ -36631,7 +36631,7 @@ public: typedef aggregate_of< IfcAlignment2DCantSegTransition > list; }; -class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc1::IfcAlignment2DHorizontal* Horizontal() const; void setHorizontal(::Ifc4x3_rc1::IfcAlignment2DHorizontal* v); @@ -36669,7 +36669,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -36751,7 +36751,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -36811,7 +36811,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -36851,7 +36851,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -36966,7 +36966,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc1::IfcBeamTypeEnum::Value PredefinedType() const; @@ -36978,7 +36978,7 @@ public: typedef aggregate_of< IfcBeamType > list; }; -class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: ::Ifc4x3_rc1::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcBearingTypeEnum::Value v); @@ -37017,7 +37017,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -37035,7 +37035,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37044,7 +37044,7 @@ public: typedef aggregate_of< IfcBoundaryCurve > list; }; -class IFC_PARSE_API IfcBridge : public IfcFacility { +class IFC_PARSE_API IfcBridge : public IfcFacility { public: boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v); @@ -37055,7 +37055,7 @@ public: typedef aggregate_of< IfcBridge > list; }; -class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { +class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37237,7 +37237,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcFacility { +class IFC_PARSE_API IfcBuilding : public IfcFacility { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -37271,7 +37271,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -37286,7 +37286,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -37331,7 +37331,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { 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. ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -37378,7 +37378,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -37392,7 +37392,7 @@ public: typedef aggregate_of< IfcBuildingSystem > list; }; -class IFC_PARSE_API IfcBuiltElement : public IfcElement { +class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37401,7 +37401,7 @@ public: typedef aggregate_of< IfcBuiltElement > list; }; -class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { +class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v); @@ -37440,7 +37440,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v); @@ -37476,7 +37476,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -37519,7 +37519,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -37558,7 +37558,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -37610,7 +37610,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37622,7 +37622,7 @@ public: typedef aggregate_of< IfcCableSegmentType > list; }; -class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v); @@ -37664,7 +37664,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc1::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37716,7 +37716,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuiltElement { +class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: /// 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. @@ -37755,7 +37755,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37767,7 +37767,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: double Radius() const; void setRadius(double v); @@ -37780,7 +37780,7 @@ public: typedef aggregate_of< IfcCircularArcSegment2D > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37815,7 +37815,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc1::IfcCoilTypeEnum::Value PredefinedType() const; @@ -38097,7 +38097,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuiltElement { +class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: /// 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. @@ -38356,7 +38356,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -38396,7 +38396,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -38434,7 +38434,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -38472,7 +38472,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -38505,7 +38505,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -38543,7 +38543,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -38570,7 +38570,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -38583,7 +38583,7 @@ public: typedef aggregate_of< IfcConstructionProductResource > list; }; -class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v); @@ -38622,7 +38622,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -38666,7 +38666,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38678,7 +38678,7 @@ public: typedef aggregate_of< IfcCoolingTowerType > list; }; -class IFC_PARSE_API IfcCourse : public IfcBuiltElement { +class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v); @@ -38912,7 +38912,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuiltElement { +class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -39063,7 +39063,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: /// 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. @@ -39111,7 +39111,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4x3_rc1::IfcDamperTypeEnum::Value PredefinedType() const; @@ -39123,7 +39123,7 @@ public: typedef aggregate_of< IfcDamperType > list; }; -class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { +class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39304,7 +39304,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -39503,7 +39503,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -39515,7 +39515,7 @@ public: typedef aggregate_of< IfcDiscreteAccessoryType > list; }; -class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v); @@ -39562,7 +39562,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -39627,7 +39627,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39797,7 +39797,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -39874,7 +39874,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -39965,7 +39965,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -40021,7 +40021,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40393,7 +40393,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuiltElement { +class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -40530,7 +40530,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40567,7 +40567,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -40607,7 +40607,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -40644,7 +40644,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -40656,7 +40656,7 @@ public: typedef aggregate_of< IfcDuctSilencerType > list; }; -class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v); @@ -40667,7 +40667,7 @@ public: typedef aggregate_of< IfcEarthworksCut > list; }; -class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { +class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40676,7 +40676,7 @@ public: typedef aggregate_of< IfcEarthworksElement > list; }; -class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { +class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v); @@ -40715,7 +40715,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40753,7 +40753,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40791,7 +40791,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40803,7 +40803,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDeviceType > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v); @@ -40845,7 +40845,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -40883,7 +40883,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -40921,7 +40921,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -40941,7 +40941,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40990,7 +40990,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v); @@ -41044,7 +41044,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -41118,7 +41118,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v); @@ -41143,7 +41143,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -41183,7 +41183,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4x3_rc1::IfcFanTypeEnum::Value PredefinedType() const; @@ -41223,7 +41223,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4x3_rc1::IfcFilterTypeEnum::Value PredefinedType() const; @@ -41267,7 +41267,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -41287,7 +41287,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41300,7 +41300,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41338,7 +41338,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -41429,7 +41429,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v); @@ -41444,7 +41444,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41475,7 +41475,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41492,7 +41492,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41511,7 +41511,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41524,7 +41524,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41554,7 +41554,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuiltElement { +class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: /// The generic type of the footing. /// @@ -41568,7 +41568,7 @@ public: typedef aggregate_of< IfcFooting > list; }; -class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41672,7 +41672,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcPositioningElement { +class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr UAxes() const; @@ -41741,7 +41741,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v); @@ -41794,7 +41794,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v); @@ -41861,7 +41861,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v); @@ -41937,7 +41937,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v); @@ -41948,7 +41948,7 @@ public: typedef aggregate_of< IfcJunctionBox > list; }; -class IFC_PARSE_API IfcKerb : public IfcBuiltElement { +class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: bool Mountable() const; void setMountable(bool v); @@ -42005,7 +42005,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v); @@ -42081,7 +42081,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v); @@ -42092,7 +42092,7 @@ public: typedef aggregate_of< IfcLightFixture > list; }; -class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { +class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: ::Ifc4x3_rc1::IfcCurve* Axis() const; void setAxis(::Ifc4x3_rc1::IfcCurve* v); @@ -42103,7 +42103,7 @@ public: typedef aggregate_of< IfcLinearPositioningElement > list; }; -class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v); @@ -42157,7 +42157,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v); @@ -42417,7 +42417,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuiltElement { +class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: /// 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. @@ -42670,7 +42670,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42679,7 +42679,7 @@ public: typedef aggregate_of< IfcMemberStandardCase > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v); @@ -42690,7 +42690,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsAppliance > list; }; -class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v); @@ -42741,7 +42741,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v); @@ -42752,7 +42752,7 @@ public: typedef aggregate_of< IfcMotorConnection > list; }; -class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { +class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v); @@ -42767,7 +42767,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42841,7 +42841,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v); @@ -42852,7 +42852,7 @@ public: typedef aggregate_of< IfcOutlet > list; }; -class IFC_PARSE_API IfcPavement : public IfcBuiltElement { +class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: boost::optional< bool > Flexible() const; void setFlexible(boost::optional< bool > v); @@ -42880,7 +42880,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcDeepFoundation { +class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: /// The predefined generic type of the pile according to function. /// @@ -42983,7 +42983,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v); @@ -43053,7 +43053,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v); @@ -43291,7 +43291,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuiltElement { +class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: /// 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. @@ -43458,7 +43458,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -43542,7 +43542,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v); @@ -43592,7 +43592,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -43652,7 +43652,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v); @@ -43663,7 +43663,7 @@ public: typedef aggregate_of< IfcPump > list; }; -class IFC_PARSE_API IfcRail : public IfcBuiltElement { +class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v); @@ -43805,7 +43805,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuiltElement { +class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: /// 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. @@ -43951,7 +43951,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuiltElement { +class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -44154,7 +44154,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: /// 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. @@ -44204,7 +44204,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -44216,7 +44216,7 @@ public: typedef aggregate_of< IfcRationalBSplineCurveWithKnots > list; }; -class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { +class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v); @@ -44254,7 +44254,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -44289,7 +44289,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -44461,7 +44461,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuiltElement { +class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -44600,7 +44600,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v); @@ -44658,7 +44658,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc1::IfcSensorTypeEnum::Value PredefinedType() const; @@ -44683,7 +44683,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: /// 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. @@ -44696,7 +44696,7 @@ public: typedef aggregate_of< IfcShadingDevice > list; }; -class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v); @@ -44966,7 +44966,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuiltElement { +class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: /// 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. @@ -45063,7 +45063,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45230,7 +45230,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45285,7 +45285,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v); @@ -45357,7 +45357,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v); @@ -45417,7 +45417,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v); @@ -45592,7 +45592,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuiltElement { +class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -45772,7 +45772,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -45826,7 +45826,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -45865,7 +45865,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -45887,7 +45887,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45983,7 +45983,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v); @@ -46053,7 +46053,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v); @@ -46064,7 +46064,7 @@ public: typedef aggregate_of< IfcTank > list; }; -class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { +class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v); @@ -46116,7 +46116,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v); @@ -46173,7 +46173,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v); @@ -46209,7 +46209,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -46292,7 +46292,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -46488,7 +46488,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v); @@ -46740,7 +46740,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuiltElement { +class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: /// 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. @@ -46852,7 +46852,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47062,7 +47062,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47174,7 +47174,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v); @@ -47542,7 +47542,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuiltElement { +class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -47689,7 +47689,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47728,7 +47728,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -47796,7 +47796,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v); @@ -47848,7 +47848,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v); @@ -47903,7 +47903,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -47939,7 +47939,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -47951,7 +47951,7 @@ public: typedef aggregate_of< IfcAlarmType > list; }; -class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { +class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v); @@ -48139,7 +48139,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -48386,7 +48386,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuiltElement { +class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: /// 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. @@ -48651,7 +48651,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48660,7 +48660,7 @@ public: typedef aggregate_of< IfcBeamStandardCase > list; }; -class IFC_PARSE_API IfcBearing : public IfcBuiltElement { +class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v); @@ -48739,7 +48739,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v); @@ -48750,7 +48750,7 @@ public: typedef aggregate_of< IfcBoiler > list; }; -class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48948,7 +48948,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v); @@ -48999,7 +48999,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v); @@ -49070,7 +49070,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -49140,7 +49140,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -49225,7 +49225,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -49323,7 +49323,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -49335,7 +49335,7 @@ public: typedef aggregate_of< IfcCableSegment > list; }; -class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { +class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v); @@ -49414,7 +49414,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v); @@ -49490,7 +49490,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v); @@ -49602,7 +49602,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -49658,7 +49658,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v); @@ -49734,7 +49734,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v); @@ -49780,7 +49780,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc1::IfcControllerTypeEnum::Value PredefinedType() const; @@ -49792,7 +49792,7 @@ public: typedef aggregate_of< IfcControllerType > list; }; -class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v); @@ -49851,7 +49851,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v); @@ -49918,7 +49918,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v); @@ -49999,7 +49999,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v); @@ -50010,7 +50010,7 @@ public: typedef aggregate_of< IfcDamper > list; }; -class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v); @@ -50051,7 +50051,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v); @@ -50062,7 +50062,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -50148,7 +50148,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -50232,7 +50232,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v); @@ -50291,7 +50291,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v); @@ -50343,7 +50343,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v); @@ -50451,7 +50451,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v); @@ -50518,7 +50518,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -50569,7 +50569,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -50580,7 +50580,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDevice > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v); @@ -50637,7 +50637,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v); @@ -50688,7 +50688,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v); @@ -50739,7 +50739,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v); @@ -50803,7 +50803,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v); @@ -50900,7 +50900,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v); @@ -50976,7 +50976,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -51038,7 +51038,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v); @@ -51049,7 +51049,7 @@ public: typedef aggregate_of< IfcFlowInstrument > list; }; -class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51058,7 +51058,7 @@ public: typedef aggregate_of< IfcGeomodel > list; }; -class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51118,7 +51118,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -51262,7 +51262,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v); @@ -51327,7 +51327,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v); @@ -51399,7 +51399,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v); @@ -51451,7 +51451,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v); @@ -51567,7 +51567,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index e0db1e2d14..c182d8c3a8 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,38 +125,38 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveMeasureSelect; +class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -165,13 +165,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -179,7 +179,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -254,7 +254,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -263,22 +263,22 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcFacilityPartTypeSelect; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -287,15 +287,15 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcImpactProtectionDeviceTypeSelect; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -303,7 +303,7 @@ typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; /// 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -314,7 +314,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -337,9 +337,9 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcLinearAxisSelect; +class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -366,7 +366,7 @@ typedef IfcUtil::IfcBaseClass IfcLinearAxisSelect; /// /// 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -376,7 +376,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -389,23 +389,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -413,7 +413,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -422,7 +422,7 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -433,9 +433,9 @@ typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -445,13 +445,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -461,13 +461,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -479,7 +479,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -499,7 +499,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -512,7 +512,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -520,7 +520,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -533,9 +533,9 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -546,7 +546,7 @@ typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; /// 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -556,7 +556,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -567,7 +567,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcStyleAssignmentSelect; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -577,7 +577,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -587,7 +587,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -595,22 +595,22 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcTransportElementTypeSelect; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -624,7 +624,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -635,7 +635,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -644,11 +644,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7899,7 +7899,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7912,7 +7912,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7928,7 +7928,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7941,7 +7941,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7950,7 +7950,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7959,7 +7959,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7974,7 +7974,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7983,7 +7983,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7996,7 +7996,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcWarpingStiffnessSelect, public IfcMetricValueSelect, public IfcModulusOfSubgradeReactionSelect, public IfcTranslationalStiffnessSelect, public IfcAppliedValueSelect, public IfcValue, public IfcSimpleValue, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcRotationalStiffnessSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8047,7 +8047,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8066,7 +8066,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8122,7 +8122,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8136,7 +8136,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8150,7 +8150,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8165,7 +8165,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8179,7 +8179,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8205,7 +8205,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8225,7 +8225,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8267,7 +8267,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8281,7 +8281,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcSizeSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8296,7 +8296,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8309,7 +8309,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8322,7 +8322,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8336,7 +8336,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8349,7 +8349,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8362,7 +8362,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8375,7 +8375,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8390,7 +8390,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8403,7 +8403,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8416,7 +8416,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8429,7 +8429,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8451,7 +8451,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8471,7 +8471,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8502,7 +8502,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8515,7 +8515,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8528,7 +8528,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8549,7 +8549,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8562,7 +8562,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8573,7 +8573,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8595,7 +8595,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8608,7 +8608,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8621,7 +8621,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8636,7 +8636,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8651,7 +8651,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8662,7 +8662,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8675,7 +8675,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8688,7 +8688,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8710,7 +8710,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8728,7 +8728,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8743,7 +8743,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcSizeSelect, public IfcMeasureValue, public IfcBendingParameterSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8752,7 +8752,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8765,7 +8765,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8778,7 +8778,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8791,7 +8791,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcValue, public IfcTranslationalStiffnessSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8804,7 +8804,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8817,7 +8817,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8830,7 +8830,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8845,7 +8845,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8860,7 +8860,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8873,7 +8873,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8886,7 +8886,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8899,7 +8899,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8912,7 +8912,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8927,7 +8927,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8942,7 +8942,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8955,7 +8955,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8968,7 +8968,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8981,7 +8981,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcValue, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8998,7 +8998,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcModulusOfSubgradeReactionSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9011,7 +9011,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9024,7 +9024,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9037,7 +9037,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9049,7 +9049,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9113,7 +9113,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9126,7 +9126,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcMeasureValue, public IfcValue, public IfcCurveMeasureSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9140,7 +9140,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9151,7 +9151,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9166,7 +9166,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcTrimmingSelect, public IfcValue, public IfcCurveMeasureSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9179,7 +9179,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9198,7 +9198,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcMeasureValue, public IfcBendingParameterSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9207,7 +9207,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9221,7 +9221,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcSizeSelect, public IfcMeasureValue, public IfcHatchLineDistanceSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9235,7 +9235,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9248,7 +9248,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9265,7 +9265,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9278,7 +9278,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9287,7 +9287,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9300,7 +9300,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9318,7 +9318,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcSizeSelect, public IfcMeasureValue, public IfcTimeOrRatioSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9333,7 +9333,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9346,7 +9346,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9360,7 +9360,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9373,7 +9373,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcRotationalStiffnessSelect, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9386,7 +9386,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9399,7 +9399,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9412,7 +9412,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9427,7 +9427,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9436,7 +9436,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9449,7 +9449,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9458,7 +9458,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9471,7 +9471,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9484,7 +9484,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9499,7 +9499,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9516,7 +9516,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9529,7 +9529,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9542,7 +9542,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9561,7 +9561,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9579,7 +9579,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9600,7 +9600,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9627,7 +9627,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9645,7 +9645,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9658,7 +9658,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9671,7 +9671,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9683,7 +9683,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9695,7 +9695,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9708,7 +9708,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9723,7 +9723,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9739,7 +9739,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9754,7 +9754,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9766,7 +9766,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9779,7 +9779,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9794,7 +9794,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9807,7 +9807,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9822,7 +9822,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9835,7 +9835,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9848,7 +9848,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9861,7 +9861,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcWarpingStiffnessSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9894,7 +9894,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9907,7 +9907,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcSizeSelect, public IfcMeasureValue, public IfcValue, public IfcColourOrFactor, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9921,7 +9921,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcSizeSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9941,7 +9941,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9968,7 +9968,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Purpose() const; @@ -9991,7 +9991,7 @@ public: typedef aggregate_of< IfcAddress > list; }; -class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > StartTag() const; void setStartTag(boost::optional< std::string > v); @@ -10004,7 +10004,7 @@ public: typedef aggregate_of< IfcAlignmentParameterSegment > list; }; -class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -10029,7 +10029,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc2::IfcOrganization* ApplicationDeveloper() const; @@ -10063,7 +10063,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcMetricValueSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -10111,7 +10111,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -10172,7 +10172,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -10193,7 +10193,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -10229,7 +10229,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -10256,7 +10256,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -10291,7 +10291,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4x3_rc2::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -10316,7 +10316,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10340,7 +10340,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -10362,7 +10362,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -10382,7 +10382,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -10408,7 +10408,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10488,7 +10488,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -10524,7 +10524,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10595,7 +10595,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10610,7 +10610,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr Elements() const; @@ -10635,7 +10635,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc2::IfcNamedUnit* Unit() const; @@ -10666,7 +10666,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10701,7 +10701,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10718,7 +10718,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcLightDistributionDataSourceSelect, public IfcResourceObjectSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10754,7 +10754,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10769,7 +10769,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10784,7 +10784,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10815,7 +10815,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10839,7 +10839,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10861,7 +10861,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10899,7 +10899,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10936,7 +10936,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10958,7 +10958,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10983,7 +10983,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -11021,7 +11021,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -11059,7 +11059,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMaterialSelect, public IfcResourceObjectSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -11093,7 +11093,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4x3_rc2::IfcMaterial* Material() const; @@ -11164,7 +11164,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -11226,7 +11226,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -11257,7 +11257,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Materials() const; @@ -11273,7 +11273,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -11305,7 +11305,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -11333,7 +11333,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -11375,7 +11375,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -11394,7 +11394,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc2::IfcValue* ValueComponent() const; @@ -11460,7 +11460,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc2::IfcBenchmarkEnum::Value Benchmark() const; @@ -11484,7 +11484,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -11500,7 +11500,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc2::IfcDimensionalExponents* Dimensions() const; @@ -11525,7 +11525,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: ::Ifc4x3_rc2::IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x3_rc2::IfcObjectPlacement* v); @@ -11545,7 +11545,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11572,7 +11572,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11609,7 +11609,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcPersonAndOrganization* OwningUser() const; @@ -11650,7 +11650,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11694,7 +11694,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// The person who is related to the organization. ::Ifc4x3_rc2::IfcPerson* ThePerson() const; @@ -11716,7 +11716,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11741,7 +11741,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4x3_rc2::IfcNamedUnit* Unit() const; @@ -11755,7 +11755,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11791,7 +11791,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11814,7 +11814,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11847,7 +11847,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11876,7 +11876,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11892,7 +11892,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. aggregate_of_instance::ptr Styles() const; @@ -11920,7 +11920,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -12107,7 +12107,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4x3_rc2::IfcProfileTypeEnum::Value ProfileType() const; @@ -12146,7 +12146,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -12171,7 +12171,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -12226,7 +12226,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -12248,7 +12248,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -12269,7 +12269,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -12290,7 +12290,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -12311,7 +12311,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -12332,7 +12332,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -12353,7 +12353,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -12375,7 +12375,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -12421,7 +12421,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -12485,7 +12485,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc2::IfcRepresentationContext* ContextOfItems() const; @@ -12519,7 +12519,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12566,7 +12566,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12587,7 +12587,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12607,7 +12607,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12630,7 +12630,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12661,7 +12661,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > Prefix() const; @@ -12680,7 +12680,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12735,7 +12735,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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 @@ -12781,7 +12781,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12925,7 +12925,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12936,7 +12936,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12950,7 +12950,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12972,7 +12972,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12989,7 +12989,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13000,7 +13000,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13013,7 +13013,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -13041,7 +13041,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13077,7 +13077,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -13108,7 +13108,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13121,7 +13121,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -13145,7 +13145,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc2::IfcSurfaceSide::Value Side() const; @@ -13170,7 +13170,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -13199,7 +13199,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -13220,7 +13220,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc2::IfcColourRgb* SurfaceColour() const; @@ -13251,7 +13251,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr Textures() const; @@ -13354,7 +13354,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -13405,7 +13405,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -13427,7 +13427,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -13462,7 +13462,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -13484,7 +13484,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13600,7 +13600,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4x3_rc2::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4x3_rc2::IfcRecurrencePattern* v); @@ -13616,7 +13616,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13673,7 +13673,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// A character style to be used for presented text. ::Ifc4x3_rc2::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13715,7 +13715,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc2::IfcColour* Colour() const; @@ -13736,7 +13736,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13783,7 +13783,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v); @@ -13819,7 +13819,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13888,7 +13888,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13930,7 +13930,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13942,7 +13942,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13958,7 +13958,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13977,7 +13977,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcMetricValueSelect { public: /// An unique name for the time series. std::string Name() const; @@ -14019,7 +14019,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -14035,7 +14035,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14077,7 +14077,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14090,7 +14090,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -14111,7 +14111,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14128,7 +14128,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc2::IfcPoint* VertexGeometry() const; @@ -14198,7 +14198,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr IntersectingAxes() const; @@ -14220,7 +14220,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -14242,7 +14242,7 @@ public: typedef aggregate_of< IfcWorkTime > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignmentVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignmentVerticalSegment { public: double Radius() const; void setRadius(double v); @@ -14255,7 +14255,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegCircularArc > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignmentVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignmentVerticalSegment { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14264,7 +14264,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegLine > list; }; -class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignmentVerticalSegment { +class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignmentVerticalSegment { public: double ParabolaConstant() const; void setParabolaConstant(double v); @@ -14277,7 +14277,7 @@ public: typedef aggregate_of< IfcAlignment2DVerSegParabolicArc > list; }; -class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -14302,7 +14302,7 @@ public: typedef aggregate_of< IfcAlignmentCantSegment > list; }; -class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: ::Ifc4x3_rc2::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x3_rc2::IfcCartesianPoint* v); @@ -14331,7 +14331,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4x3_rc2::IfcApproval* RelatingApproval() const; @@ -14363,7 +14363,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc2::IfcCurve* OuterCurve() const; @@ -14389,7 +14389,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4x3_rc2::IfcBoundedCurve* Curve() const; @@ -14419,7 +14419,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr InnerCurves() const; @@ -14439,7 +14439,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -14482,7 +14482,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -14508,7 +14508,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// Source (or publisher) for this classification. /// @@ -14587,7 +14587,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// The classification system or source that is referenced. ::Ifc4x3_rc2::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -14608,7 +14608,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14623,7 +14623,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcColour, public IfcFillStyleSelect { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14673,7 +14673,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Profiles() const; @@ -14696,7 +14696,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr CfsFaces() const; @@ -14720,7 +14720,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14753,7 +14753,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14777,7 +14777,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14836,7 +14836,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14869,7 +14869,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14891,7 +14891,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14933,7 +14933,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// 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. ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14957,7 +14957,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveStyleFontSelect, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14982,7 +14982,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -15004,7 +15004,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -15106,7 +15106,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc2::IfcProfileDef* ParentProfile() const; @@ -15126,7 +15126,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -15210,7 +15210,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc2::IfcDocumentInformation* RelatingDocument() const; @@ -15238,7 +15238,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -15304,7 +15304,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4x3_rc2::IfcVertex* EdgeStart() const; @@ -15351,7 +15351,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4x3_rc2::IfcCurve* EdgeGeometry() const; @@ -15388,7 +15388,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -15411,7 +15411,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -15432,7 +15432,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -15492,7 +15492,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr Bounds() const; @@ -15509,7 +15509,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4x3_rc2::IfcLoop* Bound() const; @@ -15528,7 +15528,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15572,7 +15572,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4x3_rc2::IfcSurface* FaceSurface() const; @@ -15593,7 +15593,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15653,7 +15653,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15713,7 +15713,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15756,7 +15756,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15777,7 +15777,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc2::IfcGeometricRepresentationContext* ParentContext() const; @@ -15814,7 +15814,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15870,7 +15870,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc2::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15901,7 +15901,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4x3_rc2::IfcSurface* BaseSurface() const; @@ -15950,7 +15950,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15962,7 +15962,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x3_rc2::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v); @@ -15979,7 +15979,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4x3_rc2::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v); @@ -15992,7 +15992,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -16007,7 +16007,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -16055,7 +16055,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -16078,7 +16078,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -16106,7 +16106,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16123,7 +16123,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16142,7 +16142,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc2::IfcAxis2Placement3D* Position() const; @@ -16183,7 +16183,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16223,7 +16223,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -16247,7 +16247,7 @@ public: typedef aggregate_of< IfcLightSourceSpot > list; }; -class IFC_PARSE_API IfcLinearAxisWithInclination : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLinearAxisWithInclination : public IfcGeometricRepresentationItem, public IfcLinearAxisSelect { public: ::Ifc4x3_rc2::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc2::IfcCurve* v); @@ -16260,7 +16260,7 @@ public: typedef aggregate_of< IfcLinearAxisWithInclination > list; }; -class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x3_rc2::IfcCurve* PlacementMeasuredAlong() const; void setPlacementMeasuredAlong(::Ifc4x3_rc2::IfcCurve* v); @@ -16277,7 +16277,7 @@ public: typedef aggregate_of< IfcLinearPlacement > list; }; -class IFC_PARSE_API IfcLinearPlacementWithInclination : public IfcLinearPlacement { +class IFC_PARSE_API IfcLinearPlacementWithInclination : public IfcLinearPlacement { public: ::Ifc4x3_rc2::IfcAxisLateralInclination* Inclinating() const; void setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v); @@ -16288,7 +16288,7 @@ public: typedef aggregate_of< IfcLinearPlacementWithInclination > list; }; -class IFC_PARSE_API IfcLinearSpanPlacement : public IfcLinearPlacement { +class IFC_PARSE_API IfcLinearSpanPlacement : public IfcLinearPlacement { public: double Span() const; void setSpan(double v); @@ -16350,7 +16350,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4x3_rc2::IfcAxis2Placement* RelativePlacement() const; @@ -16387,7 +16387,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16414,7 +16414,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcRepresentationMap* MappingSource() const; @@ -16455,7 +16455,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -16490,7 +16490,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -16528,7 +16528,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -16575,7 +16575,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4x3_rc2::IfcMaterial* RepresentedMaterial() const; @@ -16686,7 +16686,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc2::IfcMaterialLayerSet* ForLayerSet() const; @@ -16728,7 +16728,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc2::IfcMaterialProfileSet* ForProfileSet() const; @@ -16775,7 +16775,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc2::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16811,7 +16811,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16827,7 +16827,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4x3_rc2::IfcMaterial* RelatingMaterial() const; @@ -16871,7 +16871,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16929,7 +16929,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16945,7 +16945,7 @@ public: typedef aggregate_of< IfcObjectDefinition > list; }; -class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: bool HorizontalWidths() const; void setHorizontalWidths(bool v); @@ -17020,7 +17020,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17034,7 +17034,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc2::IfcOrganization* RelatingOrganization() const; @@ -17055,7 +17055,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc2::IfcEdge* EdgeElement() const; @@ -17111,7 +17111,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc2::IfcAxis2Placement2D* Position() const; @@ -17136,7 +17136,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr EdgeList() const; @@ -17156,7 +17156,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -17194,7 +17194,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -17225,7 +17225,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc2::IfcPoint* Location() const; @@ -17241,7 +17241,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -17260,7 +17260,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcPointOrVertexPoint, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17269,7 +17269,7 @@ public: typedef aggregate_of< IfcPoint > list; }; -class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { +class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: ::Ifc4x3_rc2::IfcCurveMeasureSelect* DistanceAlong() const; void setDistanceAlong(::Ifc4x3_rc2::IfcCurveMeasureSelect* v); @@ -17296,7 +17296,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4x3_rc2::IfcCurve* BasisCurve() const; @@ -17319,7 +17319,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4x3_rc2::IfcSurface* BasisSurface() const; @@ -17375,7 +17375,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Polygon() const; @@ -17442,7 +17442,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc2::IfcAxis2Placement3D* Position() const; @@ -17465,7 +17465,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -17477,7 +17477,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17496,7 +17496,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17516,7 +17516,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -17537,7 +17537,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4x3_rc2::IfcProfileDef* ProfileDefinition() const; @@ -17551,7 +17551,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -17621,7 +17621,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -17639,7 +17639,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4x3_rc2::IfcProperty* DependingProperty() const; @@ -17698,7 +17698,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17734,7 +17734,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17743,7 +17743,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17785,7 +17785,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17804,7 +17804,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17823,7 +17823,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17857,7 +17857,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17871,7 +17871,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17905,7 +17905,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4x3_rc2::IfcConstraint* RelatingConstraint() const; @@ -17921,7 +17921,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -18011,7 +18011,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -18027,7 +18027,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc2::IfcSectionTypeEnum::Value SectionType() const; @@ -18051,7 +18051,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -18130,7 +18130,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcCompositeCurve* SpineCurve() const; @@ -18148,7 +18148,7 @@ public: typedef aggregate_of< IfcSectionedSpine > list; }; -class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: ::Ifc4x3_rc2::IfcTransitionCode::Value Transition() const; void setTransition(::Ifc4x3_rc2::IfcTransitionCode::Value v); @@ -18170,7 +18170,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -18183,7 +18183,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18200,7 +18200,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -18222,7 +18222,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18235,7 +18235,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -18266,7 +18266,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -18288,7 +18288,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -18317,7 +18317,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -18334,7 +18334,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -18368,7 +18368,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -18389,7 +18389,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc2::IfcEdge* ParentEdge() const; @@ -18410,7 +18410,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18463,7 +18463,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -18520,7 +18520,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcProfileDef* SweptArea() const; @@ -18587,7 +18587,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc2::IfcCurve* Directrix() const; @@ -18624,7 +18624,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -18640,7 +18640,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcProfileDef* SweptCurve() const; @@ -18682,7 +18682,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18718,7 +18718,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18736,7 +18736,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18763,7 +18763,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc2::IfcPlanarExtent* Extent() const; @@ -18842,7 +18842,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18906,7 +18906,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18957,7 +18957,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -19008,7 +19008,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -19094,7 +19094,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -19121,7 +19121,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -19169,7 +19169,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -19205,7 +19205,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcHatchLineDistanceSelect, public IfcVectorOrDirection { public: /// The direction of the vector. ::Ifc4x3_rc2::IfcDirection* Orientation() const; @@ -19231,7 +19231,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4x3_rc2::IfcVertex* LoopVertex() const; @@ -19260,7 +19260,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -19305,7 +19305,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -19344,7 +19344,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19372,7 +19372,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -19427,7 +19427,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -19471,7 +19471,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4x3_rc2::IfcDirection* Axis() const; @@ -19493,7 +19493,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4x3_rc2::IfcDirection* RefDirection() const; @@ -19517,7 +19517,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4x3_rc2::IfcDirection* Axis() const; @@ -19532,7 +19532,7 @@ public: typedef aggregate_of< IfcAxis2Placement3D > list; }; -class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { +class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: ::Ifc4x3_rc2::IfcDirection* Axis() const; void setAxis(::Ifc4x3_rc2::IfcDirection* v); @@ -19545,7 +19545,7 @@ public: typedef aggregate_of< IfcAxis2PlacementLinear > list; }; -class IFC_PARSE_API IfcAxisLateralInclination : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAxisLateralInclination : public IfcGeometricRepresentationItem { public: aggregate_of< IfcLinearAxisWithInclination >::ptr ToLinearAxis() const; // INVERSE IfcLinearAxisWithInclination::Inclinating virtual const IfcParse::entity& declaration() const; @@ -19580,7 +19580,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcCsgSelect, public IfcBooleanOperand { public: /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc2::IfcBooleanOperator::Value Operator() const; @@ -19609,7 +19609,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19639,7 +19639,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc2::IfcCartesianPoint* Corner() const; @@ -19689,7 +19689,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc2::IfcBoundingBox* Enclosure() const; @@ -19722,7 +19722,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -19752,7 +19752,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19764,7 +19764,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19773,7 +19773,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19786,7 +19786,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19828,7 +19828,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc2::IfcDirection* Axis1() const; @@ -19853,7 +19853,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19871,7 +19871,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19887,7 +19887,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc2::IfcDirection* Axis3() const; @@ -19909,7 +19909,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19935,7 +19935,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19995,7 +19995,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcShell, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20011,7 +20011,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -20039,7 +20039,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -20061,7 +20061,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { +class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: /// 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. /// @@ -20093,7 +20093,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v); @@ -20118,7 +20118,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -20157,7 +20157,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -20173,7 +20173,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcCsgSelect, public IfcBooleanOperand { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc2::IfcAxis2Placement3D* Position() const; @@ -20225,7 +20225,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4x3_rc2::IfcCsgSelect* TreeRootExpression() const; @@ -20246,7 +20246,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect, public IfcLinearAxisSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20267,7 +20267,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4x3_rc2::IfcPlane* BasisSurface() const; @@ -20305,7 +20305,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4x3_rc2::IfcSurface* BasisSurface() const; @@ -20322,7 +20322,7 @@ public: typedef aggregate_of< IfcCurveBoundedSurface > list; }; -class IFC_PARSE_API IfcCurveSegment : public IfcSegment { +class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: ::Ifc4x3_rc2::IfcPlacement* StartPlacement() const; void setStartPlacement(::Ifc4x3_rc2::IfcPlacement* v); @@ -20343,7 +20343,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcVectorOrDirection, public IfcGridPlacementDirectionSelect { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -20355,7 +20355,7 @@ public: typedef aggregate_of< IfcDirection > list; }; -class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc2::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc2::IfcCurve* v); @@ -20370,7 +20370,7 @@ public: typedef aggregate_of< IfcDirectrixCurveSweptAreaSolid > list; }; -class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc2::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc2::IfcCurve* v); @@ -20410,7 +20410,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -20441,7 +20441,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr EdgeList() const; @@ -20529,7 +20529,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -20567,7 +20567,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -20583,7 +20583,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc2::IfcAxis2Placement3D* Position() const; @@ -20610,7 +20610,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -20630,7 +20630,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -20719,7 +20719,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc2::IfcDirection* ExtrudedDirection() const; @@ -20832,7 +20832,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcProfileDef* EndSweptArea() const; @@ -20855,7 +20855,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20913,7 +20913,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc2::IfcCurveStyle* HatchLineAppearance() const; @@ -20949,7 +20949,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4x3_rc2::IfcVector >::ptr TilingPattern() const; @@ -21024,7 +21024,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc2::IfcDirection* FixedReference() const; @@ -21063,7 +21063,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21108,7 +21108,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -21182,7 +21182,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -21200,7 +21200,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21271,7 +21271,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -21299,7 +21299,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { +class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { public: boost::optional< bool > FixedAxisVertical() const; void setFixedAxisVertical(boost::optional< bool > v); @@ -21312,7 +21312,7 @@ public: typedef aggregate_of< IfcInclinedReferenceSweptAreaSolid > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -21324,7 +21324,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -21385,7 +21385,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -21422,7 +21422,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -21446,7 +21446,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4x3_rc2::IfcCartesianPoint* Pnt() const; @@ -21523,7 +21523,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcClosedShell* Outer() const; @@ -21616,7 +21616,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -21632,7 +21632,7 @@ public: typedef aggregate_of< IfcObject > list; }; -class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: ::Ifc4x3_rc2::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc2::IfcCurve* v); @@ -21653,7 +21653,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -21682,7 +21682,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -21700,7 +21700,7 @@ public: typedef aggregate_of< IfcOffsetCurve3D > list; }; -class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr OffsetValues() const; void setOffsetValues(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v); @@ -21719,7 +21719,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc2::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x3_rc2::IfcSurface* v); @@ -21737,7 +21737,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -21785,7 +21785,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21798,7 +21798,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcColour, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21813,7 +21813,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveStyleFontSelect, public IfcCurveFontOrScaledCurveFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21841,7 +21841,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21862,7 +21862,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21914,7 +21914,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -22027,7 +22027,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcProductSelect, public IfcSpatialReferenceSelect { public: /// 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. ::Ifc4x3_rc2::IfcObjectPlacement* ObjectPlacement() const; @@ -22088,7 +22088,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22120,7 +22120,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22232,7 +22232,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4x3_rc2::IfcValue* UpperBoundValue() const; @@ -22331,7 +22331,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -22412,7 +22412,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -22443,7 +22443,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -22512,7 +22512,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr HasProperties() const; @@ -22554,7 +22554,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -22626,7 +22626,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -22760,7 +22760,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -22816,7 +22816,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22842,7 +22842,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcObjectTypeEnum::Value ProxyType() const; @@ -22876,7 +22876,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22981,7 +22981,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -23013,7 +23013,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4x3_rc2::IfcSurface* BasisSurface() const; @@ -23068,7 +23068,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -23093,7 +23093,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -23117,7 +23117,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc2::IfcActor* RelatingActor() const; @@ -23136,7 +23136,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc2::IfcControl* RelatingControl() const; @@ -23160,7 +23160,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4x3_rc2::IfcGroup* RelatingGroup() const; @@ -23180,7 +23180,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -23213,7 +23213,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -23237,7 +23237,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -23256,7 +23256,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -23310,7 +23310,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -23326,7 +23326,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc2::IfcApproval* RelatingApproval() const; @@ -23367,7 +23367,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4x3_rc2::IfcClassificationSelect* RelatingClassification() const; @@ -23381,7 +23381,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -23402,7 +23402,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4x3_rc2::IfcDocumentSelect* RelatingDocument() const; @@ -23420,7 +23420,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc2::IfcLibrarySelect* RelatingLibrary() const; @@ -23525,7 +23525,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4x3_rc2::IfcMaterialSelect* RelatingMaterial() const; @@ -23537,7 +23537,7 @@ public: typedef aggregate_of< IfcRelAssociatesMaterial > list; }; -class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: ::Ifc4x3_rc2::IfcProfileDef* RelatingProfileDef() const; void setRelatingProfileDef(::Ifc4x3_rc2::IfcProfileDef* v); @@ -23550,7 +23550,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23580,7 +23580,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4x3_rc2::IfcConnectionGeometry* ConnectionGeometry() const; @@ -23627,7 +23627,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23672,7 +23672,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc2::IfcPort* RelatingPort() const; @@ -23701,7 +23701,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc2::IfcPort* RelatingPort() const; @@ -23721,7 +23721,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -23759,7 +23759,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc2::IfcStructuralMember* RelatingStructuralMember() const; @@ -23802,7 +23802,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4x3_rc2::IfcConnectionGeometry* ConnectionConstraint() const; @@ -23836,7 +23836,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr RealizingElements() const; @@ -23910,7 +23910,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23942,7 +23942,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23984,7 +23984,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -24011,7 +24011,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc2::IfcContext* RelatingContext() const; @@ -24055,7 +24055,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24090,7 +24090,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24113,7 +24113,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr RelatedObjects() const; @@ -24142,7 +24142,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -24168,7 +24168,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -24251,7 +24251,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v); @@ -24273,7 +24273,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc2::IfcOpeningElement* RelatingOpeningElement() const; @@ -24296,7 +24296,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -24357,7 +24357,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcInterferenceSelect* RelatingElement() const; @@ -24405,7 +24405,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -24424,7 +24424,7 @@ public: typedef aggregate_of< IfcRelNests > list; }; -class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { +class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: ::Ifc4x3_rc2::IfcPositioningElement* RelatingPositioningElement() const; void setRelatingPositioningElement(::Ifc4x3_rc2::IfcPositioningElement* v); @@ -24468,7 +24468,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc2::IfcElement* RelatingElement() const; @@ -24531,7 +24531,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -24602,7 +24602,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4x3_rc2::IfcProcess* RelatingProcess() const; @@ -24656,7 +24656,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4x3_rc2::IfcSystem* RelatingSystem() const; @@ -24836,7 +24836,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc2::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24912,7 +24912,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24956,7 +24956,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24975,7 +24975,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4x3_rc2::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x3_rc2::IfcElement* v); @@ -25010,7 +25010,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -25033,7 +25033,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -25129,7 +25129,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4x3_rc2::IfcAxis1Placement* Axis() const; @@ -25201,7 +25201,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4x3_rc2::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4x3_rc2::IfcProfileDef* v); @@ -25276,7 +25276,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -25371,7 +25371,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -25386,7 +25386,7 @@ public: typedef aggregate_of< IfcRightCircularCylinder > list; }; -class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x3_rc2::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc2::IfcCurve* v); @@ -25399,7 +25399,7 @@ public: typedef aggregate_of< IfcSectionedSolid > list; }; -class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { +class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr CrossSectionPositions() const; void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v); @@ -25412,7 +25412,7 @@ public: typedef aggregate_of< IfcSectionedSolidHorizontal > list; }; -class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { +class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: ::Ifc4x3_rc2::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc2::IfcCurve* v); @@ -25429,7 +25429,7 @@ public: typedef aggregate_of< IfcSectionedSurface > list; }; -class IFC_PARSE_API IfcSeriesParameterCurve : public IfcCurve { +class IFC_PARSE_API IfcSeriesParameterCurve : public IfcCurve { public: ::Ifc4x3_rc2::IfcPlacement* Position() const; void setPosition(::Ifc4x3_rc2::IfcPlacement* v); @@ -25488,7 +25488,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -25574,7 +25574,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct, public IfcInterferenceSelect { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -25621,7 +25621,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -25706,7 +25706,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -25754,7 +25754,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25811,7 +25811,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -25852,7 +25852,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25915,7 +25915,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25927,7 +25927,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -26030,7 +26030,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -26150,7 +26150,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -26163,7 +26163,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -26192,7 +26192,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26220,7 +26220,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -26252,7 +26252,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26282,7 +26282,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -26304,7 +26304,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -26316,7 +26316,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc2::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x3_rc2::IfcCurve* v); @@ -26392,7 +26392,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The surface containing the Directrix. ::Ifc4x3_rc2::IfcSurface* ReferenceSurface() const; @@ -26416,7 +26416,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4x3_rc2::IfcDirection* ExtrudedDirection() const; @@ -26447,7 +26447,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc2::IfcAxis1Placement* AxisPosition() const; @@ -26488,7 +26488,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -26743,7 +26743,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -26830,7 +26830,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -26846,7 +26846,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4x3_rc2::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x3_rc2::IfcCartesianPointList3D* v); @@ -26859,7 +26859,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26934,7 +26934,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcTransportElementTypeSelect* PredefinedType() const; @@ -26946,7 +26946,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26963,7 +26963,7 @@ public: typedef aggregate_of< IfcTriangulatedFaceSet > list; }; -class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { +class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: std::vector< int > /*[1:?]*/ Flags() const; void setFlags(std::vector< int > /*[1:?]*/ v); @@ -27071,7 +27071,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -27168,7 +27168,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -27208,7 +27208,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4x3_rc2::IfcActorSelect* TheActor() const; @@ -27253,7 +27253,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27282,7 +27282,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v); @@ -27465,7 +27465,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v); @@ -27545,7 +27545,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -27581,7 +27581,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -27701,7 +27701,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27719,7 +27719,7 @@ public: typedef aggregate_of< IfcBlock > list; }; -class IFC_PARSE_API IfcBlossCurve : public IfcCurve { +class IFC_PARSE_API IfcBlossCurve : public IfcCurve { public: ::Ifc4x3_rc2::IfcAxis2Placement* Position() const; void setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v); @@ -27740,7 +27740,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27758,7 +27758,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: aggregate_of< IfcLinearPositioningElement >::ptr PositioningElement() const; // INVERSE IfcLinearPositioningElement::Axis virtual const IfcParse::entity& declaration() const; @@ -27944,7 +27944,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -27956,7 +27956,7 @@ public: typedef aggregate_of< IfcBuildingStorey > list; }; -class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { +class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27989,7 +27989,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -28018,7 +28018,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -28030,7 +28030,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28039,7 +28039,7 @@ public: typedef aggregate_of< IfcCivilElementType > list; }; -class IFC_PARSE_API IfcClothoid : public IfcCurve { +class IFC_PARSE_API IfcClothoid : public IfcCurve { public: ::Ifc4x3_rc2::IfcAxis2Placement* Position() const; void setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v); @@ -28149,7 +28149,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc2::IfcColumnTypeEnum::Value PredefinedType() const; @@ -28168,7 +28168,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -28249,7 +28249,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr Segments() const; @@ -28274,7 +28274,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28287,7 +28287,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4x3_rc2::IfcAxis2Placement* Position() const; @@ -28311,7 +28311,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -28335,7 +28335,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -28359,7 +28359,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -28442,7 +28442,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4x3_rc2::IfcResourceTime* Usage() const; void setUsage(::Ifc4x3_rc2::IfcResourceTime* v); @@ -28466,7 +28466,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -28517,7 +28517,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -28567,7 +28567,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -28600,7 +28600,7 @@ public: typedef aggregate_of< IfcCostSchedule > list; }; -class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: ::Ifc4x3_rc2::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcCourseTypeEnum::Value v); @@ -28689,7 +28689,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -28710,7 +28710,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -28743,7 +28743,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28755,7 +28755,7 @@ public: typedef aggregate_of< IfcCurtainWallType > list; }; -class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { +class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: ::Ifc4x3_rc2::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x3_rc2::IfcCartesianPoint* v); @@ -28823,7 +28823,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28835,7 +28835,7 @@ public: typedef aggregate_of< IfcCylindricalSurface > list; }; -class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28871,7 +28871,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28944,7 +28944,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29047,7 +29047,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -29145,7 +29145,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -29298,7 +29298,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc2::IfcDoorTypeEnum::Value PredefinedType() const; @@ -29388,7 +29388,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29409,7 +29409,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29470,7 +29470,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcStructuralActivityAssignmentSelect, public IfcInterferenceSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -29586,7 +29586,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -29624,7 +29624,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -29712,7 +29712,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29729,7 +29729,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29764,7 +29764,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29801,7 +29801,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29835,7 +29835,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc2::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcEngineTypeEnum::Value v); @@ -29871,7 +29871,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29908,7 +29908,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29996,7 +29996,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -30025,7 +30025,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30057,7 +30057,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30089,7 +30089,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr Voids() const; @@ -30101,7 +30101,7 @@ public: typedef aggregate_of< IfcFacetedBrepWithVoids > list; }; -class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30110,7 +30110,7 @@ public: typedef aggregate_of< IfcFacility > list; }; -class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: ::Ifc4x3_rc2::IfcFacilityPartTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v); @@ -30130,7 +30130,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -30164,7 +30164,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -30269,7 +30269,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30332,7 +30332,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -30391,7 +30391,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -30422,7 +30422,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30453,7 +30453,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30493,7 +30493,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -30526,7 +30526,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30565,7 +30565,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30580,7 +30580,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30595,7 +30595,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30611,7 +30611,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30628,7 +30628,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: /// Subtype of footing. ::Ifc4x3_rc2::IfcFootingTypeEnum::Value PredefinedType() const; @@ -30743,7 +30743,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30782,7 +30782,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v); @@ -30932,7 +30932,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30944,7 +30944,7 @@ public: typedef aggregate_of< IfcGeographicElement > list; }; -class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { +class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30953,7 +30953,7 @@ public: typedef aggregate_of< IfcGeotechnicalElement > list; }; -class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30962,7 +30962,7 @@ public: typedef aggregate_of< IfcGeotechnicalStratum > list; }; -class IFC_PARSE_API IfcGradientCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcGradientCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc2::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc2::IfcBoundedCurve* v); @@ -31006,7 +31006,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -31044,7 +31044,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -31081,7 +31081,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -31093,7 +31093,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { +class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v); @@ -31104,7 +31104,7 @@ public: typedef aggregate_of< IfcImpactProtectionDevice > list; }; -class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { +class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v); @@ -31115,7 +31115,7 @@ public: typedef aggregate_of< IfcImpactProtectionDeviceType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc2::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v); @@ -31162,7 +31162,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v); @@ -31173,7 +31173,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31192,7 +31192,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -31249,7 +31249,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -31261,7 +31261,7 @@ public: typedef aggregate_of< IfcJunctionBoxType > list; }; -class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { +class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: bool Mountable() const; void setMountable(bool v); @@ -31295,7 +31295,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -31336,7 +31336,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc2::IfcLampTypeEnum::Value PredefinedType() const; @@ -31378,7 +31378,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -31390,7 +31390,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31399,7 +31399,7 @@ public: typedef aggregate_of< IfcLineSegment2D > list; }; -class IFC_PARSE_API IfcLinearElement : public IfcProduct { +class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31408,7 +31408,7 @@ public: typedef aggregate_of< IfcLinearElement > list; }; -class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v); @@ -31419,7 +31419,7 @@ public: typedef aggregate_of< IfcLiquidTerminalType > list; }; -class IFC_PARSE_API IfcMarineFacility : public IfcFacility { +class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v); @@ -31458,7 +31458,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -31508,7 +31508,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -31551,7 +31551,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v); @@ -31662,7 +31662,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc2::IfcMemberTypeEnum::Value PredefinedType() const; @@ -31674,7 +31674,7 @@ public: typedef aggregate_of< IfcMemberType > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v); @@ -31685,7 +31685,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsApplianceType > list; }; -class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v); @@ -31722,7 +31722,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -31734,7 +31734,7 @@ public: typedef aggregate_of< IfcMotorConnectionType > list; }; -class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v); @@ -31751,7 +31751,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31966,7 +31966,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32073,7 +32073,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32110,7 +32110,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc2::IfcOutletTypeEnum::Value PredefinedType() const; @@ -32122,7 +32122,7 @@ public: typedef aggregate_of< IfcOutletType > list; }; -class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: bool Flexible() const; void setFlexible(bool v); @@ -32137,7 +32137,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -32184,7 +32184,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -32244,7 +32244,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -32274,7 +32274,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: /// Subtype of pile. ::Ifc4x3_rc2::IfcPileTypeEnum::Value PredefinedType() const; @@ -32314,7 +32314,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -32358,7 +32358,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -32370,7 +32370,7 @@ public: typedef aggregate_of< IfcPipeSegmentType > list; }; -class IFC_PARSE_API IfcPlant : public IfcGeographicElement { +class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32455,7 +32455,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc2::IfcPlateTypeEnum::Value PredefinedType() const; @@ -32467,7 +32467,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -32495,7 +32495,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Points() const; @@ -32559,7 +32559,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -32571,7 +32571,7 @@ public: typedef aggregate_of< IfcPort > list; }; -class IFC_PARSE_API IfcPositioningElement : public IfcProduct { +class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements aggregate_of< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement @@ -32685,7 +32685,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -32740,7 +32740,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -32874,7 +32874,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32922,7 +32922,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32961,7 +32961,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4x3_rc2::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32973,7 +32973,7 @@ public: typedef aggregate_of< IfcPumpType > list; }; -class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: ::Ifc4x3_rc2::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcRailTypeEnum::Value v); @@ -33003,7 +33003,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc2::IfcRailingTypeEnum::Value PredefinedType() const; @@ -33015,7 +33015,7 @@ public: typedef aggregate_of< IfcRailingType > list; }; -class IFC_PARSE_API IfcRailway : public IfcFacility { +class IFC_PARSE_API IfcRailway : public IfcFacility { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33043,7 +33043,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -33087,7 +33087,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc2::IfcRampTypeEnum::Value PredefinedType() const; @@ -33111,7 +33111,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -33123,7 +33123,7 @@ public: typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; -class IFC_PARSE_API IfcReferent : public IfcPositioningElement { +class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v); @@ -33143,7 +33143,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -33156,7 +33156,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33188,7 +33188,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -33226,7 +33226,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -33287,7 +33287,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -33306,7 +33306,7 @@ public: typedef aggregate_of< IfcRelAggregates > list; }; -class IFC_PARSE_API IfcRoad : public IfcFacility { +class IFC_PARSE_API IfcRoad : public IfcFacility { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33346,7 +33346,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc2::IfcRoofTypeEnum::Value PredefinedType() const; @@ -33394,7 +33394,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -33406,7 +33406,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33415,7 +33415,7 @@ public: typedef aggregate_of< IfcSeamCurve > list; }; -class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc2::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc2::IfcBoundedCurve* v); @@ -33450,7 +33450,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -33462,7 +33462,7 @@ public: typedef aggregate_of< IfcShadingDeviceType > list; }; -class IFC_PARSE_API IfcSign : public IfcElementComponent { +class IFC_PARSE_API IfcSign : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v); @@ -33473,7 +33473,7 @@ public: typedef aggregate_of< IfcSign > list; }; -class IFC_PARSE_API IfcSignType : public IfcElementComponentType { +class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: ::Ifc4x3_rc2::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcSignTypeEnum::Value v); @@ -33484,7 +33484,7 @@ public: typedef aggregate_of< IfcSignType > list; }; -class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc2::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcSignalTypeEnum::Value v); @@ -33683,7 +33683,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -33786,7 +33786,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc2::IfcSlabTypeEnum::Value PredefinedType() const; @@ -33823,7 +33823,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v); @@ -33834,7 +33834,7 @@ public: typedef aggregate_of< IfcSolarDeviceType > list; }; -class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34092,7 +34092,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34142,7 +34142,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -34234,7 +34234,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -34273,7 +34273,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -34304,7 +34304,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -34348,7 +34348,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc2::IfcStairTypeEnum::Value PredefinedType() const; @@ -34378,7 +34378,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -34392,7 +34392,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4x3_rc2::IfcBoundaryCondition* AppliedCondition() const; @@ -34460,7 +34460,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34491,7 +34491,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -34541,7 +34541,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -34577,7 +34577,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34635,7 +34635,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -34653,7 +34653,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34694,7 +34694,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -34764,7 +34764,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34785,7 +34785,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4x3_rc2::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -34839,7 +34839,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34851,7 +34851,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -34921,7 +34921,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34947,7 +34947,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34979,7 +34979,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -35023,7 +35023,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -35074,7 +35074,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -35102,7 +35102,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup, public IfcSpatialReferenceSelect { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements @@ -35136,7 +35136,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -35178,7 +35178,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4x3_rc2::IfcTankTypeEnum::Value PredefinedType() const; @@ -35190,7 +35190,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v); @@ -35215,7 +35215,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v); @@ -35226,7 +35226,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v); @@ -35237,7 +35237,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v); @@ -35248,7 +35248,7 @@ public: typedef aggregate_of< IfcTendonConduit > list; }; -class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v); @@ -35259,7 +35259,7 @@ public: typedef aggregate_of< IfcTendonConduitType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x3_rc2::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcTendonTypeEnum::Value v); @@ -35276,7 +35276,7 @@ public: typedef aggregate_of< IfcTendonType > list; }; -class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v); @@ -35313,7 +35313,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -35325,7 +35325,7 @@ public: typedef aggregate_of< IfcTransformerType > list; }; -class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: boost::optional< double > StartRadius() const; void setStartRadius(boost::optional< double > v); @@ -35459,7 +35459,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -35550,7 +35550,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4x3_rc2::IfcCurve* BasisCurve() const; @@ -35602,7 +35602,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -35641,7 +35641,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -35690,7 +35690,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4x3_rc2::IfcValveTypeEnum::Value PredefinedType() const; @@ -35702,7 +35702,7 @@ public: typedef aggregate_of< IfcValveType > list; }; -class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v); @@ -35713,7 +35713,7 @@ public: typedef aggregate_of< IfcVibrationDamper > list; }; -class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v); @@ -35757,7 +35757,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v); @@ -35789,7 +35789,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -35886,7 +35886,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35895,7 +35895,7 @@ public: typedef aggregate_of< IfcVirtualElement > list; }; -class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35935,7 +35935,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -36030,7 +36030,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc2::IfcWallTypeEnum::Value PredefinedType() const; @@ -36077,7 +36077,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -36089,7 +36089,7 @@ public: typedef aggregate_of< IfcWasteTerminalType > list; }; -class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36218,7 +36218,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc2::IfcWindowTypeEnum::Value PredefinedType() const; @@ -36249,7 +36249,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -36317,7 +36317,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -36371,7 +36371,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -36423,7 +36423,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -36520,7 +36520,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -36573,7 +36573,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -36626,7 +36626,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -36663,7 +36663,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v); @@ -36699,7 +36699,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -36711,7 +36711,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: double RailHeadDistance() const; void setRailHeadDistance(double v); @@ -36724,7 +36724,7 @@ public: typedef aggregate_of< IfcAlignmentCant > list; }; -class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc2::IfcAlignmentHorizontal* Horizontal() const; void setHorizontal(::Ifc4x3_rc2::IfcAlignmentHorizontal* v); @@ -36739,7 +36739,7 @@ public: typedef aggregate_of< IfcAlignmentCurve > list; }; -class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: boost::optional< double > StartDistAlong() const; void setStartDistAlong(boost::optional< double > v); @@ -36752,7 +36752,7 @@ public: typedef aggregate_of< IfcAlignmentHorizontal > list; }; -class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: ::Ifc4x3_rc2::IfcAlignmentParameterSegment* GeometricParameters() const; void setGeometricParameters(::Ifc4x3_rc2::IfcAlignmentParameterSegment* v); @@ -36763,7 +36763,7 @@ public: typedef aggregate_of< IfcAlignmentSegment > list; }; -class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr Segments() const; void setSegments(aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr v); @@ -36797,7 +36797,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -36879,7 +36879,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -36939,7 +36939,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -36979,7 +36979,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -37094,7 +37094,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc2::IfcBeamTypeEnum::Value PredefinedType() const; @@ -37106,7 +37106,7 @@ public: typedef aggregate_of< IfcBeamType > list; }; -class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: ::Ifc4x3_rc2::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcBearingTypeEnum::Value v); @@ -37145,7 +37145,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -37163,7 +37163,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37172,7 +37172,7 @@ public: typedef aggregate_of< IfcBoundaryCurve > list; }; -class IFC_PARSE_API IfcBridge : public IfcFacility { +class IFC_PARSE_API IfcBridge : public IfcFacility { public: boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v); @@ -37183,7 +37183,7 @@ public: typedef aggregate_of< IfcBridge > list; }; -class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { +class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37365,7 +37365,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcFacility { +class IFC_PARSE_API IfcBuilding : public IfcFacility { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -37399,7 +37399,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -37414,7 +37414,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -37459,7 +37459,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { 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. ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -37506,7 +37506,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -37520,7 +37520,7 @@ public: typedef aggregate_of< IfcBuildingSystem > list; }; -class IFC_PARSE_API IfcBuiltElement : public IfcElement { +class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37529,7 +37529,7 @@ public: typedef aggregate_of< IfcBuiltElement > list; }; -class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { +class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v); @@ -37568,7 +37568,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v); @@ -37604,7 +37604,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -37647,7 +37647,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -37686,7 +37686,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -37738,7 +37738,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37750,7 +37750,7 @@ public: typedef aggregate_of< IfcCableSegmentType > list; }; -class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v); @@ -37792,7 +37792,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc2::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37844,7 +37844,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuiltElement { +class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: /// 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. @@ -37883,7 +37883,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37895,7 +37895,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { +class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: double Radius() const; void setRadius(double v); @@ -37908,7 +37908,7 @@ public: typedef aggregate_of< IfcCircularArcSegment2D > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37943,7 +37943,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc2::IfcCoilTypeEnum::Value PredefinedType() const; @@ -38225,7 +38225,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuiltElement { +class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: /// 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. @@ -38484,7 +38484,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -38524,7 +38524,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -38562,7 +38562,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -38600,7 +38600,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -38633,7 +38633,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -38671,7 +38671,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -38698,7 +38698,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -38711,7 +38711,7 @@ public: typedef aggregate_of< IfcConstructionProductResource > list; }; -class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v); @@ -38750,7 +38750,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -38794,7 +38794,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38806,7 +38806,7 @@ public: typedef aggregate_of< IfcCoolingTowerType > list; }; -class IFC_PARSE_API IfcCourse : public IfcBuiltElement { +class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v); @@ -39040,7 +39040,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuiltElement { +class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -39191,7 +39191,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: /// 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. @@ -39239,7 +39239,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4x3_rc2::IfcDamperTypeEnum::Value PredefinedType() const; @@ -39251,7 +39251,7 @@ public: typedef aggregate_of< IfcDamperType > list; }; -class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { +class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39432,7 +39432,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -39631,7 +39631,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -39643,7 +39643,7 @@ public: typedef aggregate_of< IfcDiscreteAccessoryType > list; }; -class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v); @@ -39690,7 +39690,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -39755,7 +39755,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39925,7 +39925,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -40002,7 +40002,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -40093,7 +40093,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -40149,7 +40149,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40521,7 +40521,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuiltElement { +class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -40658,7 +40658,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40695,7 +40695,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -40735,7 +40735,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -40772,7 +40772,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -40784,7 +40784,7 @@ public: typedef aggregate_of< IfcDuctSilencerType > list; }; -class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v); @@ -40795,7 +40795,7 @@ public: typedef aggregate_of< IfcEarthworksCut > list; }; -class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { +class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40804,7 +40804,7 @@ public: typedef aggregate_of< IfcEarthworksElement > list; }; -class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { +class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v); @@ -40843,7 +40843,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40881,7 +40881,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40919,7 +40919,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40931,7 +40931,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDeviceType > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v); @@ -40973,7 +40973,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -41011,7 +41011,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -41049,7 +41049,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -41069,7 +41069,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41118,7 +41118,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v); @@ -41172,7 +41172,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -41246,7 +41246,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v); @@ -41271,7 +41271,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -41311,7 +41311,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4x3_rc2::IfcFanTypeEnum::Value PredefinedType() const; @@ -41351,7 +41351,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4x3_rc2::IfcFilterTypeEnum::Value PredefinedType() const; @@ -41395,7 +41395,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -41415,7 +41415,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41428,7 +41428,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41466,7 +41466,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -41557,7 +41557,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v); @@ -41572,7 +41572,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41603,7 +41603,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41620,7 +41620,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41639,7 +41639,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41652,7 +41652,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41682,7 +41682,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuiltElement { +class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: /// The generic type of the footing. /// @@ -41696,7 +41696,7 @@ public: typedef aggregate_of< IfcFooting > list; }; -class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41800,7 +41800,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcPositioningElement { +class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr UAxes() const; @@ -41869,7 +41869,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v); @@ -41922,7 +41922,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v); @@ -41989,7 +41989,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v); @@ -42065,7 +42065,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v); @@ -42076,7 +42076,7 @@ public: typedef aggregate_of< IfcJunctionBox > list; }; -class IFC_PARSE_API IfcKerb : public IfcBuiltElement { +class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: bool Mountable() const; void setMountable(bool v); @@ -42133,7 +42133,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v); @@ -42209,7 +42209,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v); @@ -42220,7 +42220,7 @@ public: typedef aggregate_of< IfcLightFixture > list; }; -class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { +class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: ::Ifc4x3_rc2::IfcCurve* Axis() const; void setAxis(::Ifc4x3_rc2::IfcCurve* v); @@ -42231,7 +42231,7 @@ public: typedef aggregate_of< IfcLinearPositioningElement > list; }; -class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v); @@ -42285,7 +42285,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v); @@ -42545,7 +42545,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuiltElement { +class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: /// 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. @@ -42798,7 +42798,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42807,7 +42807,7 @@ public: typedef aggregate_of< IfcMemberStandardCase > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v); @@ -42818,7 +42818,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsAppliance > list; }; -class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v); @@ -42869,7 +42869,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v); @@ -42880,7 +42880,7 @@ public: typedef aggregate_of< IfcMotorConnection > list; }; -class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { +class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v); @@ -42895,7 +42895,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42969,7 +42969,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v); @@ -42980,7 +42980,7 @@ public: typedef aggregate_of< IfcOutlet > list; }; -class IFC_PARSE_API IfcPavement : public IfcBuiltElement { +class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: boost::optional< bool > Flexible() const; void setFlexible(boost::optional< bool > v); @@ -43008,7 +43008,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcDeepFoundation { +class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: /// The predefined generic type of the pile according to function. /// @@ -43111,7 +43111,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v); @@ -43181,7 +43181,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v); @@ -43419,7 +43419,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuiltElement { +class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: /// 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. @@ -43586,7 +43586,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -43670,7 +43670,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v); @@ -43720,7 +43720,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -43780,7 +43780,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v); @@ -43791,7 +43791,7 @@ public: typedef aggregate_of< IfcPump > list; }; -class IFC_PARSE_API IfcRail : public IfcBuiltElement { +class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v); @@ -43933,7 +43933,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuiltElement { +class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: /// 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. @@ -44079,7 +44079,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuiltElement { +class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -44282,7 +44282,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: /// 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. @@ -44332,7 +44332,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -44344,7 +44344,7 @@ public: typedef aggregate_of< IfcRationalBSplineCurveWithKnots > list; }; -class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { +class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v); @@ -44382,7 +44382,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -44417,7 +44417,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -44589,7 +44589,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuiltElement { +class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -44728,7 +44728,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v); @@ -44786,7 +44786,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc2::IfcSensorTypeEnum::Value PredefinedType() const; @@ -44811,7 +44811,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: /// 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. @@ -44824,7 +44824,7 @@ public: typedef aggregate_of< IfcShadingDevice > list; }; -class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v); @@ -45094,7 +45094,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuiltElement { +class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: /// 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. @@ -45191,7 +45191,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45358,7 +45358,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45413,7 +45413,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v); @@ -45485,7 +45485,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v); @@ -45545,7 +45545,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v); @@ -45720,7 +45720,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuiltElement { +class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -45900,7 +45900,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -45954,7 +45954,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -45993,7 +45993,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -46015,7 +46015,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -46111,7 +46111,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v); @@ -46181,7 +46181,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v); @@ -46192,7 +46192,7 @@ public: typedef aggregate_of< IfcTank > list; }; -class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { +class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v); @@ -46244,7 +46244,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v); @@ -46301,7 +46301,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v); @@ -46337,7 +46337,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -46420,7 +46420,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -46616,7 +46616,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v); @@ -46868,7 +46868,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuiltElement { +class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: /// 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. @@ -46980,7 +46980,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47190,7 +47190,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47302,7 +47302,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v); @@ -47670,7 +47670,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuiltElement { +class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -47817,7 +47817,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47856,7 +47856,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -47924,7 +47924,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v); @@ -47976,7 +47976,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v); @@ -48031,7 +48031,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -48067,7 +48067,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -48079,7 +48079,7 @@ public: typedef aggregate_of< IfcAlarmType > list; }; -class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { +class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v); @@ -48267,7 +48267,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -48514,7 +48514,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuiltElement { +class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: /// 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. @@ -48779,7 +48779,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48788,7 +48788,7 @@ public: typedef aggregate_of< IfcBeamStandardCase > list; }; -class IFC_PARSE_API IfcBearing : public IfcBuiltElement { +class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v); @@ -48867,7 +48867,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v); @@ -48878,7 +48878,7 @@ public: typedef aggregate_of< IfcBoiler > list; }; -class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -49076,7 +49076,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v); @@ -49127,7 +49127,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v); @@ -49198,7 +49198,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -49268,7 +49268,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -49353,7 +49353,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -49451,7 +49451,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -49463,7 +49463,7 @@ public: typedef aggregate_of< IfcCableSegment > list; }; -class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { +class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v); @@ -49542,7 +49542,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v); @@ -49618,7 +49618,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v); @@ -49730,7 +49730,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -49786,7 +49786,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v); @@ -49862,7 +49862,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v); @@ -49908,7 +49908,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc2::IfcControllerTypeEnum::Value PredefinedType() const; @@ -49920,7 +49920,7 @@ public: typedef aggregate_of< IfcControllerType > list; }; -class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v); @@ -49979,7 +49979,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v); @@ -50046,7 +50046,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v); @@ -50127,7 +50127,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v); @@ -50138,7 +50138,7 @@ public: typedef aggregate_of< IfcDamper > list; }; -class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v); @@ -50179,7 +50179,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v); @@ -50190,7 +50190,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -50276,7 +50276,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -50360,7 +50360,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v); @@ -50419,7 +50419,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v); @@ -50471,7 +50471,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v); @@ -50579,7 +50579,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v); @@ -50646,7 +50646,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -50697,7 +50697,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -50708,7 +50708,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDevice > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v); @@ -50765,7 +50765,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v); @@ -50816,7 +50816,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v); @@ -50867,7 +50867,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v); @@ -50931,7 +50931,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v); @@ -51028,7 +51028,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v); @@ -51104,7 +51104,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -51166,7 +51166,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v); @@ -51177,7 +51177,7 @@ public: typedef aggregate_of< IfcFlowInstrument > list; }; -class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51186,7 +51186,7 @@ public: typedef aggregate_of< IfcGeomodel > list; }; -class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51246,7 +51246,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -51390,7 +51390,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v); @@ -51455,7 +51455,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v); @@ -51527,7 +51527,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v); @@ -51579,7 +51579,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v); @@ -51695,7 +51695,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 12dcf21087..55c838b431 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,38 +125,38 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveMeasureSelect; +class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -165,13 +165,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -179,7 +179,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -254,7 +254,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -263,22 +263,22 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcFacilityPartTypeSelect; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -287,15 +287,15 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcImpactProtectionDeviceTypeSelect; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -303,7 +303,7 @@ typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; /// 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -314,7 +314,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -337,7 +337,7 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -364,7 +364,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -374,7 +374,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -387,23 +387,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -411,7 +411,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -422,9 +422,9 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -434,13 +434,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -450,13 +450,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -468,7 +468,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -488,7 +488,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -501,7 +501,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -509,7 +509,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -522,9 +522,9 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -535,7 +535,7 @@ typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; /// 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -545,7 +545,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -555,7 +555,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -565,7 +565,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -573,22 +573,22 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcTransportElementTypeSelect; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -602,7 +602,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -613,7 +613,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -622,11 +622,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7884,7 +7884,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7897,7 +7897,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7913,7 +7913,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7926,7 +7926,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7935,7 +7935,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7944,7 +7944,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7959,7 +7959,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7968,7 +7968,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7981,7 +7981,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcTranslationalStiffnessSelect, public IfcSimpleValue, public IfcWarpingStiffnessSelect, public IfcMetricValueSelect, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcAppliedValueSelect, public IfcValue, public IfcRotationalStiffnessSelect, public IfcModulusOfSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8032,7 +8032,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8051,7 +8051,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8107,7 +8107,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8121,7 +8121,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8135,7 +8135,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8150,7 +8150,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8164,7 +8164,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8190,7 +8190,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8210,7 +8210,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8252,7 +8252,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8266,7 +8266,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcSizeSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8281,7 +8281,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8294,7 +8294,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8307,7 +8307,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8321,7 +8321,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8334,7 +8334,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8347,7 +8347,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8360,7 +8360,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8375,7 +8375,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8388,7 +8388,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8401,7 +8401,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8414,7 +8414,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8436,7 +8436,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8456,7 +8456,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8487,7 +8487,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8500,7 +8500,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8513,7 +8513,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8534,7 +8534,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8547,7 +8547,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8558,7 +8558,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8580,7 +8580,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8593,7 +8593,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8606,7 +8606,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8621,7 +8621,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8636,7 +8636,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8647,7 +8647,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8660,7 +8660,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8673,7 +8673,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8695,7 +8695,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8713,7 +8713,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8728,7 +8728,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcBendingParameterSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcSizeSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8737,7 +8737,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8750,7 +8750,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8763,7 +8763,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8776,7 +8776,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcTranslationalStiffnessSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8789,7 +8789,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8802,7 +8802,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8815,7 +8815,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8830,7 +8830,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8845,7 +8845,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8858,7 +8858,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8871,7 +8871,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8884,7 +8884,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8897,7 +8897,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8912,7 +8912,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8927,7 +8927,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8940,7 +8940,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8953,7 +8953,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8966,7 +8966,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcModulusOfRotationalSubgradeReactionSelect, public IfcAppliedValueSelect, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8983,7 +8983,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue, public IfcModulusOfSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8996,7 +8996,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9009,7 +9009,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9022,7 +9022,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9034,7 +9034,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9098,7 +9098,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9111,7 +9111,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcCurveMeasureSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9125,7 +9125,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9136,7 +9136,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9151,7 +9151,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcTrimmingSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcCurveMeasureSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9164,7 +9164,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9183,7 +9183,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcBendingParameterSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9192,7 +9192,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9206,7 +9206,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcHatchLineDistanceSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcSizeSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9220,7 +9220,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9233,7 +9233,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9250,7 +9250,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9263,7 +9263,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9272,7 +9272,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9285,7 +9285,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9303,7 +9303,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcTimeOrRatioSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcSizeSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9318,7 +9318,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9331,7 +9331,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9345,7 +9345,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9358,7 +9358,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue, public IfcRotationalStiffnessSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9371,7 +9371,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9384,7 +9384,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9397,7 +9397,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9412,7 +9412,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9421,7 +9421,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9434,7 +9434,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9443,7 +9443,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9456,7 +9456,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9469,7 +9469,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9484,7 +9484,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9501,7 +9501,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9514,7 +9514,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9527,7 +9527,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9546,7 +9546,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9564,7 +9564,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9585,7 +9585,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9612,7 +9612,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9630,7 +9630,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9643,7 +9643,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9656,7 +9656,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9668,7 +9668,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9680,7 +9680,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9693,7 +9693,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9708,7 +9708,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9724,7 +9724,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9739,7 +9739,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9751,7 +9751,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcValue, public IfcSimpleValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9764,7 +9764,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9779,7 +9779,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9792,7 +9792,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9807,7 +9807,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9820,7 +9820,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9833,7 +9833,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9846,7 +9846,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcDerivedMeasureValue, public IfcWarpingStiffnessSelect, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9879,7 +9879,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9892,7 +9892,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcColourOrFactor, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcSizeSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9906,7 +9906,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcSizeSelect, public IfcValue, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9926,7 +9926,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9953,7 +9953,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Purpose() const; @@ -9976,7 +9976,7 @@ public: typedef aggregate_of< IfcAddress > list; }; -class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > StartTag() const; void setStartTag(boost::optional< std::string > v); @@ -9989,7 +9989,7 @@ public: typedef aggregate_of< IfcAlignmentParameterSegment > list; }; -class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -10014,7 +10014,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc3::IfcOrganization* ApplicationDeveloper() const; @@ -10048,7 +10048,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -10096,7 +10096,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -10157,7 +10157,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -10178,7 +10178,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -10214,7 +10214,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -10241,7 +10241,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -10276,7 +10276,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4x3_rc3::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -10301,7 +10301,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10325,7 +10325,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -10347,7 +10347,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -10367,7 +10367,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -10393,7 +10393,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10473,7 +10473,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -10509,7 +10509,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10580,7 +10580,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10595,7 +10595,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr Elements() const; @@ -10620,7 +10620,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc3::IfcNamedUnit* Unit() const; @@ -10651,7 +10651,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10686,7 +10686,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10703,7 +10703,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcLightDistributionDataSourceSelect, public IfcObjectReferenceSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10739,7 +10739,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10754,7 +10754,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10769,7 +10769,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10800,7 +10800,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10824,7 +10824,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10846,7 +10846,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10884,7 +10884,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10921,7 +10921,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10943,7 +10943,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10968,7 +10968,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -11010,7 +11010,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -11048,7 +11048,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcMaterialSelect, public IfcObjectReferenceSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -11082,7 +11082,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4x3_rc3::IfcMaterial* Material() const; @@ -11153,7 +11153,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -11215,7 +11215,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -11246,7 +11246,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Materials() const; @@ -11262,7 +11262,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -11294,7 +11294,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -11322,7 +11322,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -11364,7 +11364,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -11383,7 +11383,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc3::IfcValue* ValueComponent() const; @@ -11449,7 +11449,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc3::IfcBenchmarkEnum::Value Benchmark() const; @@ -11473,7 +11473,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -11489,7 +11489,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc3::IfcDimensionalExponents* Dimensions() const; @@ -11514,7 +11514,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: ::Ifc4x3_rc3::IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x3_rc3::IfcObjectPlacement* v); @@ -11534,7 +11534,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11561,7 +11561,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11598,7 +11598,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcPersonAndOrganization* OwningUser() const; @@ -11639,7 +11639,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11683,7 +11683,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcActorSelect, public IfcObjectReferenceSelect { public: /// The person who is related to the organization. ::Ifc4x3_rc3::IfcPerson* ThePerson() const; @@ -11705,7 +11705,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11730,7 +11730,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4x3_rc3::IfcNamedUnit* Unit() const; @@ -11744,7 +11744,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11780,7 +11780,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11803,7 +11803,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11836,7 +11836,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11865,7 +11865,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11893,7 +11893,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -12080,7 +12080,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4x3_rc3::IfcProfileTypeEnum::Value ProfileType() const; @@ -12119,7 +12119,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -12144,7 +12144,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -12199,7 +12199,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -12221,7 +12221,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -12242,7 +12242,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -12263,7 +12263,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -12284,7 +12284,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -12305,7 +12305,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -12326,7 +12326,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -12348,7 +12348,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -12394,7 +12394,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -12458,7 +12458,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc3::IfcRepresentationContext* ContextOfItems() const; @@ -12492,7 +12492,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12539,7 +12539,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12560,7 +12560,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12580,7 +12580,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12603,7 +12603,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12634,7 +12634,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > Prefix() const; @@ -12653,7 +12653,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12708,7 +12708,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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 @@ -12754,7 +12754,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12898,7 +12898,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12909,7 +12909,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12923,7 +12923,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12945,7 +12945,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12962,7 +12962,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12973,7 +12973,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12986,7 +12986,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -13014,7 +13014,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13050,7 +13050,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -13081,7 +13081,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13094,7 +13094,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -13118,7 +13118,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc3::IfcSurfaceSide::Value Side() const; @@ -13143,7 +13143,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -13172,7 +13172,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -13193,7 +13193,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc3::IfcColourRgb* SurfaceColour() const; @@ -13224,7 +13224,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr Textures() const; @@ -13327,7 +13327,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -13378,7 +13378,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -13400,7 +13400,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -13435,7 +13435,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -13457,7 +13457,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13573,7 +13573,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4x3_rc3::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4x3_rc3::IfcRecurrencePattern* v); @@ -13589,7 +13589,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13646,7 +13646,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: /// A character style to be used for presented text. ::Ifc4x3_rc3::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13688,7 +13688,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc3::IfcColour* Colour() const; @@ -13709,7 +13709,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13756,7 +13756,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v); @@ -13792,7 +13792,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13861,7 +13861,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13903,7 +13903,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13915,7 +13915,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13931,7 +13931,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13950,7 +13950,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect, public IfcObjectReferenceSelect, public IfcMetricValueSelect { public: /// An unique name for the time series. std::string Name() const; @@ -13992,7 +13992,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -14008,7 +14008,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14050,7 +14050,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14063,7 +14063,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -14084,7 +14084,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14101,7 +14101,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc3::IfcPoint* VertexGeometry() const; @@ -14171,7 +14171,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr IntersectingAxes() const; @@ -14193,7 +14193,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -14215,7 +14215,7 @@ public: typedef aggregate_of< IfcWorkTime > list; }; -class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -14238,7 +14238,7 @@ public: typedef aggregate_of< IfcAlignmentCantSegment > list; }; -class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: ::Ifc4x3_rc3::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x3_rc3::IfcCartesianPoint* v); @@ -14267,7 +14267,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4x3_rc3::IfcApproval* RelatingApproval() const; @@ -14299,7 +14299,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc3::IfcCurve* OuterCurve() const; @@ -14325,7 +14325,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4x3_rc3::IfcBoundedCurve* Curve() const; @@ -14355,7 +14355,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr InnerCurves() const; @@ -14375,7 +14375,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -14418,7 +14418,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -14444,7 +14444,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// Source (or publisher) for this classification. /// @@ -14523,7 +14523,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// The classification system or source that is referenced. ::Ifc4x3_rc3::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -14544,7 +14544,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14559,7 +14559,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcColour, public IfcFillStyleSelect { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14609,7 +14609,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Profiles() const; @@ -14632,7 +14632,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr CfsFaces() const; @@ -14656,7 +14656,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14689,7 +14689,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14713,7 +14713,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14772,7 +14772,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14805,7 +14805,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14827,7 +14827,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14869,7 +14869,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: /// 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. ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14893,7 +14893,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14918,7 +14918,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -14940,7 +14940,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -15042,7 +15042,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc3::IfcProfileDef* ParentProfile() const; @@ -15062,7 +15062,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -15146,7 +15146,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc3::IfcDocumentInformation* RelatingDocument() const; @@ -15174,7 +15174,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -15240,7 +15240,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4x3_rc3::IfcVertex* EdgeStart() const; @@ -15287,7 +15287,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4x3_rc3::IfcCurve* EdgeGeometry() const; @@ -15324,7 +15324,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -15347,7 +15347,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -15368,7 +15368,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -15428,7 +15428,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr Bounds() const; @@ -15445,7 +15445,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4x3_rc3::IfcLoop* Bound() const; @@ -15464,7 +15464,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15508,7 +15508,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4x3_rc3::IfcSurface* FaceSurface() const; @@ -15529,7 +15529,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15589,7 +15589,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15649,7 +15649,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15692,7 +15692,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15713,7 +15713,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc3::IfcGeometricRepresentationContext* ParentContext() const; @@ -15750,7 +15750,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15806,7 +15806,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc3::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15837,7 +15837,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4x3_rc3::IfcSurface* BaseSurface() const; @@ -15886,7 +15886,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15898,7 +15898,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x3_rc3::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v); @@ -15915,7 +15915,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4x3_rc3::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v); @@ -15928,7 +15928,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -15943,7 +15943,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15991,7 +15991,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -16014,7 +16014,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -16042,7 +16042,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16059,7 +16059,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16078,7 +16078,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc3::IfcAxis2Placement3D* Position() const; @@ -16119,7 +16119,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16159,7 +16159,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -16183,7 +16183,7 @@ public: typedef aggregate_of< IfcLightSourceSpot > list; }; -class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x3_rc3::IfcAxis2PlacementLinear* RelativePlacement() const; void setRelativePlacement(::Ifc4x3_rc3::IfcAxis2PlacementLinear* v); @@ -16247,7 +16247,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4x3_rc3::IfcAxis2Placement* RelativePlacement() const; @@ -16284,7 +16284,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16311,7 +16311,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcRepresentationMap* MappingSource() const; @@ -16352,7 +16352,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -16387,7 +16387,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -16425,7 +16425,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -16472,7 +16472,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4x3_rc3::IfcMaterial* RepresentedMaterial() const; @@ -16583,7 +16583,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc3::IfcMaterialLayerSet* ForLayerSet() const; @@ -16625,7 +16625,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc3::IfcMaterialProfileSet* ForProfileSet() const; @@ -16672,7 +16672,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc3::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16708,7 +16708,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16724,7 +16724,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4x3_rc3::IfcMaterial* RelatingMaterial() const; @@ -16768,7 +16768,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16826,7 +16826,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16842,7 +16842,7 @@ public: typedef aggregate_of< IfcObjectDefinition > list; }; -class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: bool HorizontalWidths() const; void setHorizontalWidths(bool v); @@ -16917,7 +16917,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16931,7 +16931,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc3::IfcOrganization* RelatingOrganization() const; @@ -16952,7 +16952,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc3::IfcEdge* EdgeElement() const; @@ -17008,7 +17008,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc3::IfcAxis2Placement2D* Position() const; @@ -17033,7 +17033,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr EdgeList() const; @@ -17053,7 +17053,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -17091,7 +17091,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -17122,7 +17122,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc3::IfcPoint* Location() const; @@ -17138,7 +17138,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -17157,7 +17157,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcPointOrVertexPoint, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17166,7 +17166,7 @@ public: typedef aggregate_of< IfcPoint > list; }; -class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { +class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: ::Ifc4x3_rc3::IfcCurveMeasureSelect* DistanceAlong() const; void setDistanceAlong(::Ifc4x3_rc3::IfcCurveMeasureSelect* v); @@ -17193,7 +17193,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4x3_rc3::IfcCurve* BasisCurve() const; @@ -17216,7 +17216,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4x3_rc3::IfcSurface* BasisSurface() const; @@ -17272,7 +17272,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Polygon() const; @@ -17339,7 +17339,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc3::IfcAxis2Placement3D* Position() const; @@ -17362,7 +17362,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -17374,7 +17374,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17393,7 +17393,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17413,7 +17413,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -17434,7 +17434,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4x3_rc3::IfcProfileDef* ProfileDefinition() const; @@ -17448,7 +17448,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -17518,7 +17518,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -17536,7 +17536,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4x3_rc3::IfcProperty* DependingProperty() const; @@ -17595,7 +17595,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17631,7 +17631,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17640,7 +17640,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17682,7 +17682,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17701,7 +17701,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17720,7 +17720,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17754,7 +17754,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17768,7 +17768,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17802,7 +17802,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4x3_rc3::IfcConstraint* RelatingConstraint() const; @@ -17818,7 +17818,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -17908,7 +17908,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -17924,7 +17924,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc3::IfcSectionTypeEnum::Value SectionType() const; @@ -17948,7 +17948,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -18027,7 +18027,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcCompositeCurve* SpineCurve() const; @@ -18045,7 +18045,7 @@ public: typedef aggregate_of< IfcSectionedSpine > list; }; -class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: ::Ifc4x3_rc3::IfcTransitionCode::Value Transition() const; void setTransition(::Ifc4x3_rc3::IfcTransitionCode::Value v); @@ -18068,7 +18068,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -18081,7 +18081,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18098,7 +18098,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -18120,7 +18120,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcSolidOrShell, public IfcBooleanOperand { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18133,7 +18133,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -18164,7 +18164,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -18186,7 +18186,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -18215,7 +18215,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -18232,7 +18232,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -18266,7 +18266,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -18287,7 +18287,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc3::IfcEdge* ParentEdge() const; @@ -18308,7 +18308,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18361,7 +18361,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -18418,7 +18418,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcProfileDef* SweptArea() const; @@ -18485,7 +18485,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc3::IfcCurve* Directrix() const; @@ -18522,7 +18522,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -18538,7 +18538,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcProfileDef* SweptCurve() const; @@ -18580,7 +18580,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18616,7 +18616,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18634,7 +18634,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18661,7 +18661,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc3::IfcPlanarExtent* Extent() const; @@ -18740,7 +18740,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18804,7 +18804,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18855,7 +18855,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -18906,7 +18906,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -18992,7 +18992,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -19019,7 +19019,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -19067,7 +19067,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -19103,7 +19103,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcVectorOrDirection, public IfcHatchLineDistanceSelect { public: /// The direction of the vector. ::Ifc4x3_rc3::IfcDirection* Orientation() const; @@ -19129,7 +19129,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4x3_rc3::IfcVertex* LoopVertex() const; @@ -19158,7 +19158,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -19203,7 +19203,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -19242,7 +19242,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19270,7 +19270,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -19325,7 +19325,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -19369,7 +19369,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4x3_rc3::IfcDirection* Axis() const; @@ -19391,7 +19391,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4x3_rc3::IfcDirection* RefDirection() const; @@ -19415,7 +19415,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4x3_rc3::IfcDirection* Axis() const; @@ -19430,7 +19430,7 @@ public: typedef aggregate_of< IfcAxis2Placement3D > list; }; -class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { +class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: ::Ifc4x3_rc3::IfcDirection* Axis() const; void setAxis(::Ifc4x3_rc3::IfcDirection* v); @@ -19468,7 +19468,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcCsgSelect, public IfcBooleanOperand { public: /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc3::IfcBooleanOperator::Value Operator() const; @@ -19497,7 +19497,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19527,7 +19527,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc3::IfcCartesianPoint* Corner() const; @@ -19577,7 +19577,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc3::IfcBoundingBox* Enclosure() const; @@ -19610,7 +19610,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -19640,7 +19640,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19652,7 +19652,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19661,7 +19661,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19674,7 +19674,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19716,7 +19716,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc3::IfcDirection* Axis1() const; @@ -19741,7 +19741,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19759,7 +19759,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19775,7 +19775,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc3::IfcDirection* Axis3() const; @@ -19797,7 +19797,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19823,7 +19823,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19883,7 +19883,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcSolidOrShell, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19899,7 +19899,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -19927,7 +19927,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -19949,7 +19949,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { +class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: /// 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. /// @@ -19980,7 +19980,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v); @@ -20005,7 +20005,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -20044,7 +20044,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -20060,7 +20060,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcCsgSelect, public IfcBooleanOperand { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc3::IfcAxis2Placement3D* Position() const; @@ -20112,7 +20112,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4x3_rc3::IfcCsgSelect* TreeRootExpression() const; @@ -20133,7 +20133,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20154,7 +20154,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4x3_rc3::IfcPlane* BasisSurface() const; @@ -20192,7 +20192,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4x3_rc3::IfcSurface* BasisSurface() const; @@ -20209,7 +20209,7 @@ public: typedef aggregate_of< IfcCurveBoundedSurface > list; }; -class IFC_PARSE_API IfcCurveSegment : public IfcSegment { +class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: ::Ifc4x3_rc3::IfcPlacement* Placement() const; void setPlacement(::Ifc4x3_rc3::IfcPlacement* v); @@ -20232,7 +20232,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcGridPlacementDirectionSelect, public IfcVectorOrDirection { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -20244,7 +20244,7 @@ public: typedef aggregate_of< IfcDirection > list; }; -class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc3::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc3::IfcCurve* v); @@ -20259,7 +20259,7 @@ public: typedef aggregate_of< IfcDirectrixCurveSweptAreaSolid > list; }; -class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc3::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc3::IfcCurve* v); @@ -20299,7 +20299,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -20330,7 +20330,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr EdgeList() const; @@ -20418,7 +20418,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -20456,7 +20456,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -20472,7 +20472,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc3::IfcAxis2Placement3D* Position() const; @@ -20499,7 +20499,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -20519,7 +20519,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -20608,7 +20608,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc3::IfcDirection* ExtrudedDirection() const; @@ -20721,7 +20721,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcProfileDef* EndSweptArea() const; @@ -20744,7 +20744,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20802,7 +20802,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc3::IfcCurveStyle* HatchLineAppearance() const; @@ -20838,7 +20838,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4x3_rc3::IfcVector >::ptr TilingPattern() const; @@ -20913,7 +20913,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc3::IfcDirection* FixedReference() const; @@ -20952,7 +20952,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20997,7 +20997,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -21071,7 +21071,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -21089,7 +21089,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21160,7 +21160,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -21188,7 +21188,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { +class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { public: boost::optional< bool > FixedAxisVertical() const; void setFixedAxisVertical(boost::optional< bool > v); @@ -21199,7 +21199,7 @@ public: typedef aggregate_of< IfcInclinedReferenceSweptAreaSolid > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -21211,7 +21211,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -21272,7 +21272,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -21309,7 +21309,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -21333,7 +21333,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4x3_rc3::IfcCartesianPoint* Pnt() const; @@ -21410,7 +21410,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcClosedShell* Outer() const; @@ -21503,7 +21503,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -21519,7 +21519,7 @@ public: typedef aggregate_of< IfcObject > list; }; -class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: ::Ifc4x3_rc3::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc3::IfcCurve* v); @@ -21540,7 +21540,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -21569,7 +21569,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -21587,7 +21587,7 @@ public: typedef aggregate_of< IfcOffsetCurve3D > list; }; -class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr OffsetValues() const; void setOffsetValues(aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v); @@ -21606,7 +21606,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc3::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x3_rc3::IfcSurface* v); @@ -21624,7 +21624,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -21672,7 +21672,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21681,7 +21681,7 @@ public: typedef aggregate_of< IfcPlane > list; }; -class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { +class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: ::Ifc4x3_rc3::IfcPlacement* Position() const; void setPosition(::Ifc4x3_rc3::IfcPlacement* v); @@ -21702,7 +21702,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcColour, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21717,7 +21717,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21745,7 +21745,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21766,7 +21766,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21818,7 +21818,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -21931,7 +21931,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcProductSelect, public IfcSpatialReferenceSelect { public: /// 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. ::Ifc4x3_rc3::IfcObjectPlacement* ObjectPlacement() const; @@ -21992,7 +21992,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22024,7 +22024,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22136,7 +22136,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4x3_rc3::IfcValue* UpperBoundValue() const; @@ -22235,7 +22235,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -22316,7 +22316,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -22347,7 +22347,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -22416,7 +22416,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr HasProperties() const; @@ -22458,7 +22458,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -22530,7 +22530,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -22664,7 +22664,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -22720,7 +22720,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22746,7 +22746,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcObjectTypeEnum::Value ProxyType() const; @@ -22780,7 +22780,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22885,7 +22885,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22917,7 +22917,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4x3_rc3::IfcSurface* BasisSurface() const; @@ -22972,7 +22972,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -22997,7 +22997,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -23021,7 +23021,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc3::IfcActor* RelatingActor() const; @@ -23040,7 +23040,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc3::IfcControl* RelatingControl() const; @@ -23064,7 +23064,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4x3_rc3::IfcGroup* RelatingGroup() const; @@ -23084,7 +23084,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -23117,7 +23117,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -23141,7 +23141,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -23160,7 +23160,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -23214,7 +23214,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -23230,7 +23230,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc3::IfcApproval* RelatingApproval() const; @@ -23271,7 +23271,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4x3_rc3::IfcClassificationSelect* RelatingClassification() const; @@ -23285,7 +23285,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -23306,7 +23306,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4x3_rc3::IfcDocumentSelect* RelatingDocument() const; @@ -23324,7 +23324,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc3::IfcLibrarySelect* RelatingLibrary() const; @@ -23429,7 +23429,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4x3_rc3::IfcMaterialSelect* RelatingMaterial() const; @@ -23441,7 +23441,7 @@ public: typedef aggregate_of< IfcRelAssociatesMaterial > list; }; -class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: ::Ifc4x3_rc3::IfcProfileDef* RelatingProfileDef() const; void setRelatingProfileDef(::Ifc4x3_rc3::IfcProfileDef* v); @@ -23454,7 +23454,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23484,7 +23484,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4x3_rc3::IfcConnectionGeometry* ConnectionGeometry() const; @@ -23531,7 +23531,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23576,7 +23576,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc3::IfcPort* RelatingPort() const; @@ -23605,7 +23605,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc3::IfcPort* RelatingPort() const; @@ -23625,7 +23625,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -23663,7 +23663,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc3::IfcStructuralMember* RelatingStructuralMember() const; @@ -23706,7 +23706,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4x3_rc3::IfcConnectionGeometry* ConnectionConstraint() const; @@ -23740,7 +23740,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr RealizingElements() const; @@ -23814,7 +23814,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23846,7 +23846,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23888,7 +23888,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -23915,7 +23915,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc3::IfcContext* RelatingContext() const; @@ -23959,7 +23959,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23994,7 +23994,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -24017,7 +24017,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr RelatedObjects() const; @@ -24046,7 +24046,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -24072,7 +24072,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -24155,7 +24155,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v); @@ -24177,7 +24177,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc3::IfcOpeningElement* RelatingOpeningElement() const; @@ -24200,7 +24200,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -24261,7 +24261,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcInterferenceSelect* RelatingElement() const; @@ -24309,7 +24309,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -24328,7 +24328,7 @@ public: typedef aggregate_of< IfcRelNests > list; }; -class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { +class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: ::Ifc4x3_rc3::IfcPositioningElement* RelatingPositioningElement() const; void setRelatingPositioningElement(::Ifc4x3_rc3::IfcPositioningElement* v); @@ -24372,7 +24372,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc3::IfcElement* RelatingElement() const; @@ -24435,7 +24435,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -24506,7 +24506,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4x3_rc3::IfcProcess* RelatingProcess() const; @@ -24560,7 +24560,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4x3_rc3::IfcSystem* RelatingSystem() const; @@ -24740,7 +24740,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc3::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24816,7 +24816,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24860,7 +24860,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24879,7 +24879,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4x3_rc3::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x3_rc3::IfcElement* v); @@ -24914,7 +24914,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -24937,7 +24937,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -25033,7 +25033,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4x3_rc3::IfcAxis1Placement* Axis() const; @@ -25105,7 +25105,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4x3_rc3::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4x3_rc3::IfcProfileDef* v); @@ -25180,7 +25180,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -25275,7 +25275,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -25290,7 +25290,7 @@ public: typedef aggregate_of< IfcRightCircularCylinder > list; }; -class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x3_rc3::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc3::IfcCurve* v); @@ -25303,7 +25303,7 @@ public: typedef aggregate_of< IfcSectionedSolid > list; }; -class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { +class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr CrossSectionPositions() const; void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr v); @@ -25316,7 +25316,7 @@ public: typedef aggregate_of< IfcSectionedSolidHorizontal > list; }; -class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { +class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: ::Ifc4x3_rc3::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc3::IfcCurve* v); @@ -25377,7 +25377,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -25463,7 +25463,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct, public IfcInterferenceSelect { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -25510,7 +25510,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -25595,7 +25595,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -25643,7 +25643,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25700,7 +25700,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -25741,7 +25741,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25804,7 +25804,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25816,7 +25816,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -25827,7 +25827,7 @@ public: typedef aggregate_of< IfcSphericalSurface > list; }; -class IFC_PARSE_API IfcSpiral : public IfcCurve { +class IFC_PARSE_API IfcSpiral : public IfcCurve { public: ::Ifc4x3_rc3::IfcAxis2Placement* Position() const; void setPosition(::Ifc4x3_rc3::IfcAxis2Placement* v); @@ -25930,7 +25930,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -26050,7 +26050,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -26063,7 +26063,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -26092,7 +26092,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26120,7 +26120,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -26152,7 +26152,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26182,7 +26182,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -26204,7 +26204,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -26216,7 +26216,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc3::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x3_rc3::IfcCurve* v); @@ -26292,7 +26292,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The surface containing the Directrix. ::Ifc4x3_rc3::IfcSurface* ReferenceSurface() const; @@ -26316,7 +26316,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4x3_rc3::IfcDirection* ExtrudedDirection() const; @@ -26347,7 +26347,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc3::IfcAxis1Placement* AxisPosition() const; @@ -26388,7 +26388,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -26643,7 +26643,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -26730,7 +26730,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -26746,7 +26746,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4x3_rc3::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x3_rc3::IfcCartesianPointList3D* v); @@ -26759,7 +26759,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { +class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: double QubicTerm() const; void setQubicTerm(double v); @@ -26776,7 +26776,7 @@ public: typedef aggregate_of< IfcThirdOrderPolynomialSpiral > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26851,7 +26851,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcTransportElementTypeSelect* PredefinedType() const; @@ -26863,7 +26863,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26880,7 +26880,7 @@ public: typedef aggregate_of< IfcTriangulatedFaceSet > list; }; -class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { +class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: std::vector< int > /*[1:?]*/ Flags() const; void setFlags(std::vector< int > /*[1:?]*/ v); @@ -26988,7 +26988,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -27085,7 +27085,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -27125,7 +27125,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4x3_rc3::IfcActorSelect* TheActor() const; @@ -27170,7 +27170,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27199,7 +27199,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v); @@ -27382,7 +27382,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v); @@ -27462,7 +27462,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -27498,7 +27498,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -27618,7 +27618,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27642,7 +27642,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27660,7 +27660,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27845,7 +27845,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -27857,7 +27857,7 @@ public: typedef aggregate_of< IfcBuildingStorey > list; }; -class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { +class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27890,7 +27890,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -27919,7 +27919,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -27931,7 +27931,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27940,7 +27940,7 @@ public: typedef aggregate_of< IfcCivilElementType > list; }; -class IFC_PARSE_API IfcClothoid : public IfcSpiral { +class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: double ClothoidConstant() const; void setClothoidConstant(double v); @@ -28048,7 +28048,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc3::IfcColumnTypeEnum::Value PredefinedType() const; @@ -28067,7 +28067,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -28148,7 +28148,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr Segments() const; @@ -28173,7 +28173,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28186,7 +28186,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4x3_rc3::IfcAxis2Placement* Position() const; @@ -28210,7 +28210,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -28234,7 +28234,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -28258,7 +28258,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -28341,7 +28341,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4x3_rc3::IfcResourceTime* Usage() const; void setUsage(::Ifc4x3_rc3::IfcResourceTime* v); @@ -28365,7 +28365,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -28381,7 +28381,7 @@ public: typedef aggregate_of< IfcControl > list; }; -class IFC_PARSE_API IfcCosine : public IfcSpiral { +class IFC_PARSE_API IfcCosine : public IfcSpiral { public: double CosineTerm() const; void setCosineTerm(double v); @@ -28429,7 +28429,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -28479,7 +28479,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -28512,7 +28512,7 @@ public: typedef aggregate_of< IfcCostSchedule > list; }; -class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcCourseTypeEnum::Value v); @@ -28601,7 +28601,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -28622,7 +28622,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -28655,7 +28655,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28720,7 +28720,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28732,7 +28732,7 @@ public: typedef aggregate_of< IfcCylindricalSurface > list; }; -class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28741,7 +28741,7 @@ public: typedef aggregate_of< IfcDeepFoundationType > list; }; -class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28777,7 +28777,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28850,7 +28850,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28953,7 +28953,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -29051,7 +29051,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -29204,7 +29204,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc3::IfcDoorTypeEnum::Value PredefinedType() const; @@ -29294,7 +29294,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29315,7 +29315,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29376,7 +29376,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcInterferenceSelect, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -29492,7 +29492,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -29530,7 +29530,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -29618,7 +29618,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29635,7 +29635,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29670,7 +29670,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29707,7 +29707,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29741,7 +29741,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc3::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcEngineTypeEnum::Value v); @@ -29777,7 +29777,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29814,7 +29814,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29902,7 +29902,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -29931,7 +29931,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29963,7 +29963,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29995,7 +29995,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr Voids() const; @@ -30007,7 +30007,7 @@ public: typedef aggregate_of< IfcFacetedBrepWithVoids > list; }; -class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30016,7 +30016,7 @@ public: typedef aggregate_of< IfcFacility > list; }; -class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: ::Ifc4x3_rc3::IfcFacilityPartTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcFacilityPartTypeSelect* v); @@ -30036,7 +30036,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -30070,7 +30070,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -30175,7 +30175,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30238,7 +30238,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -30297,7 +30297,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -30328,7 +30328,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30359,7 +30359,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30399,7 +30399,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -30432,7 +30432,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30471,7 +30471,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30486,7 +30486,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30501,7 +30501,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30517,7 +30517,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30534,7 +30534,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: /// Subtype of footing. ::Ifc4x3_rc3::IfcFootingTypeEnum::Value PredefinedType() const; @@ -30649,7 +30649,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30688,7 +30688,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v); @@ -30838,7 +30838,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30850,7 +30850,7 @@ public: typedef aggregate_of< IfcGeographicElement > list; }; -class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { +class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30859,7 +30859,7 @@ public: typedef aggregate_of< IfcGeotechnicalElement > list; }; -class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30868,7 +30868,7 @@ public: typedef aggregate_of< IfcGeotechnicalStratum > list; }; -class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { +class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: ::Ifc4x3_rc3::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc3::IfcBoundedCurve* v); @@ -30910,7 +30910,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject, public IfcSpatialReferenceSelect { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -30948,7 +30948,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -30985,7 +30985,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -30997,7 +30997,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { +class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v); @@ -31008,7 +31008,7 @@ public: typedef aggregate_of< IfcImpactProtectionDevice > list; }; -class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { +class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v); @@ -31019,7 +31019,7 @@ public: typedef aggregate_of< IfcImpactProtectionDeviceType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc3::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v); @@ -31066,7 +31066,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v); @@ -31077,7 +31077,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31096,7 +31096,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -31153,7 +31153,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -31165,7 +31165,7 @@ public: typedef aggregate_of< IfcJunctionBoxType > list; }; -class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { +class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: bool Mountable() const; void setMountable(bool v); @@ -31199,7 +31199,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -31240,7 +31240,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc3::IfcLampTypeEnum::Value PredefinedType() const; @@ -31282,7 +31282,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -31294,7 +31294,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLinearElement : public IfcProduct { +class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31303,7 +31303,7 @@ public: typedef aggregate_of< IfcLinearElement > list; }; -class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v); @@ -31314,7 +31314,7 @@ public: typedef aggregate_of< IfcLiquidTerminalType > list; }; -class IFC_PARSE_API IfcMarineFacility : public IfcFacility { +class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v); @@ -31353,7 +31353,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -31403,7 +31403,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -31446,7 +31446,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v); @@ -31557,7 +31557,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc3::IfcMemberTypeEnum::Value PredefinedType() const; @@ -31569,7 +31569,7 @@ public: typedef aggregate_of< IfcMemberType > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v); @@ -31580,7 +31580,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsApplianceType > list; }; -class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v); @@ -31617,7 +31617,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -31629,7 +31629,7 @@ public: typedef aggregate_of< IfcMotorConnectionType > list; }; -class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v); @@ -31646,7 +31646,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31861,7 +31861,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -31968,7 +31968,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32005,7 +32005,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc3::IfcOutletTypeEnum::Value PredefinedType() const; @@ -32017,7 +32017,7 @@ public: typedef aggregate_of< IfcOutletType > list; }; -class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcPavementTypeEnum::Value v); @@ -32032,7 +32032,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -32079,7 +32079,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -32139,7 +32139,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -32169,7 +32169,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: /// Subtype of pile. ::Ifc4x3_rc3::IfcPileTypeEnum::Value PredefinedType() const; @@ -32209,7 +32209,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -32253,7 +32253,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -32265,7 +32265,7 @@ public: typedef aggregate_of< IfcPipeSegmentType > list; }; -class IFC_PARSE_API IfcPlant : public IfcGeographicElement { +class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32350,7 +32350,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc3::IfcPlateTypeEnum::Value PredefinedType() const; @@ -32362,7 +32362,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -32390,7 +32390,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Points() const; @@ -32454,7 +32454,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -32466,7 +32466,7 @@ public: typedef aggregate_of< IfcPort > list; }; -class IFC_PARSE_API IfcPositioningElement : public IfcProduct { +class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements aggregate_of< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement @@ -32580,7 +32580,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -32635,7 +32635,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -32769,7 +32769,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32817,7 +32817,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32856,7 +32856,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4x3_rc3::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32868,7 +32868,7 @@ public: typedef aggregate_of< IfcPumpType > list; }; -class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcRailTypeEnum::Value v); @@ -32898,7 +32898,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc3::IfcRailingTypeEnum::Value PredefinedType() const; @@ -32910,7 +32910,7 @@ public: typedef aggregate_of< IfcRailingType > list; }; -class IFC_PARSE_API IfcRailway : public IfcFacility { +class IFC_PARSE_API IfcRailway : public IfcFacility { public: boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v); @@ -32940,7 +32940,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -32984,7 +32984,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc3::IfcRampTypeEnum::Value PredefinedType() const; @@ -33008,7 +33008,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -33020,7 +33020,7 @@ public: typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; -class IFC_PARSE_API IfcReferent : public IfcPositioningElement { +class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v); @@ -33040,7 +33040,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -33053,7 +33053,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33085,7 +33085,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -33123,7 +33123,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -33184,7 +33184,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -33203,7 +33203,7 @@ public: typedef aggregate_of< IfcRelAggregates > list; }; -class IFC_PARSE_API IfcRoad : public IfcFacility { +class IFC_PARSE_API IfcRoad : public IfcFacility { public: boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v); @@ -33245,7 +33245,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc3::IfcRoofTypeEnum::Value PredefinedType() const; @@ -33293,7 +33293,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -33305,7 +33305,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33314,7 +33314,7 @@ public: typedef aggregate_of< IfcSeamCurve > list; }; -class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { +class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: double QuadraticTerm() const; void setQuadraticTerm(double v); @@ -33329,7 +33329,7 @@ public: typedef aggregate_of< IfcSecondOrderPolynomialSpiral > list; }; -class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { +class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: ::Ifc4x3_rc3::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc3::IfcBoundedCurve* v); @@ -33362,7 +33362,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -33374,7 +33374,7 @@ public: typedef aggregate_of< IfcShadingDeviceType > list; }; -class IFC_PARSE_API IfcSign : public IfcElementComponent { +class IFC_PARSE_API IfcSign : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v); @@ -33385,7 +33385,7 @@ public: typedef aggregate_of< IfcSign > list; }; -class IFC_PARSE_API IfcSignType : public IfcElementComponentType { +class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: ::Ifc4x3_rc3::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcSignTypeEnum::Value v); @@ -33396,7 +33396,7 @@ public: typedef aggregate_of< IfcSignType > list; }; -class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc3::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcSignalTypeEnum::Value v); @@ -33407,7 +33407,7 @@ public: typedef aggregate_of< IfcSignalType > list; }; -class IFC_PARSE_API IfcSine : public IfcSpiral { +class IFC_PARSE_API IfcSine : public IfcSpiral { public: double SineTerm() const; void setSineTerm(double v); @@ -33608,7 +33608,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -33711,7 +33711,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc3::IfcSlabTypeEnum::Value PredefinedType() const; @@ -33748,7 +33748,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v); @@ -33759,7 +33759,7 @@ public: typedef aggregate_of< IfcSolarDeviceType > list; }; -class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34017,7 +34017,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34067,7 +34067,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -34159,7 +34159,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -34198,7 +34198,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -34229,7 +34229,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -34273,7 +34273,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc3::IfcStairTypeEnum::Value PredefinedType() const; @@ -34303,7 +34303,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -34317,7 +34317,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4x3_rc3::IfcBoundaryCondition* AppliedCondition() const; @@ -34385,7 +34385,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34416,7 +34416,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -34466,7 +34466,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -34502,7 +34502,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34560,7 +34560,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -34578,7 +34578,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34619,7 +34619,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -34689,7 +34689,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34710,7 +34710,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4x3_rc3::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -34764,7 +34764,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34776,7 +34776,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -34846,7 +34846,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34872,7 +34872,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34904,7 +34904,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -34948,7 +34948,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -34999,7 +34999,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -35027,7 +35027,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements @@ -35061,7 +35061,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -35103,7 +35103,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4x3_rc3::IfcTankTypeEnum::Value PredefinedType() const; @@ -35115,7 +35115,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v); @@ -35140,7 +35140,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v); @@ -35151,7 +35151,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v); @@ -35162,7 +35162,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v); @@ -35173,7 +35173,7 @@ public: typedef aggregate_of< IfcTendonConduit > list; }; -class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v); @@ -35184,7 +35184,7 @@ public: typedef aggregate_of< IfcTendonConduitType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x3_rc3::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcTendonTypeEnum::Value v); @@ -35201,7 +35201,7 @@ public: typedef aggregate_of< IfcTendonType > list; }; -class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v); @@ -35238,7 +35238,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -35365,7 +35365,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -35456,7 +35456,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4x3_rc3::IfcCurve* BasisCurve() const; @@ -35508,7 +35508,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -35547,7 +35547,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -35596,7 +35596,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4x3_rc3::IfcValveTypeEnum::Value PredefinedType() const; @@ -35608,7 +35608,7 @@ public: typedef aggregate_of< IfcValveType > list; }; -class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v); @@ -35619,7 +35619,7 @@ public: typedef aggregate_of< IfcVibrationDamper > list; }; -class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v); @@ -35663,7 +35663,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v); @@ -35695,7 +35695,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -35707,7 +35707,7 @@ public: typedef aggregate_of< IfcVibrationIsolatorType > list; }; -class IFC_PARSE_API IfcVienneseBend : public IfcBoundedCurve { +class IFC_PARSE_API IfcVienneseBend : public IfcBoundedCurve { public: double StartCurvature() const; void setStartCurvature(double v); @@ -35809,7 +35809,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35818,7 +35818,7 @@ public: typedef aggregate_of< IfcVirtualElement > list; }; -class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35858,7 +35858,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -35953,7 +35953,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc3::IfcWallTypeEnum::Value PredefinedType() const; @@ -36000,7 +36000,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -36012,7 +36012,7 @@ public: typedef aggregate_of< IfcWasteTerminalType > list; }; -class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36141,7 +36141,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc3::IfcWindowTypeEnum::Value PredefinedType() const; @@ -36172,7 +36172,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -36240,7 +36240,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -36294,7 +36294,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -36346,7 +36346,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -36443,7 +36443,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -36496,7 +36496,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -36549,7 +36549,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -36586,7 +36586,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v); @@ -36622,7 +36622,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -36634,7 +36634,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: double RailHeadDistance() const; void setRailHeadDistance(double v); @@ -36645,7 +36645,7 @@ public: typedef aggregate_of< IfcAlignmentCant > list; }; -class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36654,7 +36654,7 @@ public: typedef aggregate_of< IfcAlignmentHorizontal > list; }; -class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: ::Ifc4x3_rc3::IfcAlignmentParameterSegment* DesignParameters() const; void setDesignParameters(::Ifc4x3_rc3::IfcAlignmentParameterSegment* v); @@ -36665,7 +36665,7 @@ public: typedef aggregate_of< IfcAlignmentSegment > list; }; -class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36697,7 +36697,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -36779,7 +36779,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -36839,7 +36839,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -36879,7 +36879,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -36994,7 +36994,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc3::IfcBeamTypeEnum::Value PredefinedType() const; @@ -37006,7 +37006,7 @@ public: typedef aggregate_of< IfcBeamType > list; }; -class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: ::Ifc4x3_rc3::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcBearingTypeEnum::Value v); @@ -37045,7 +37045,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -37063,7 +37063,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37072,7 +37072,7 @@ public: typedef aggregate_of< IfcBoundaryCurve > list; }; -class IFC_PARSE_API IfcBridge : public IfcFacility { +class IFC_PARSE_API IfcBridge : public IfcFacility { public: boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v); @@ -37256,7 +37256,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcFacility { +class IFC_PARSE_API IfcBuilding : public IfcFacility { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -37290,7 +37290,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -37305,7 +37305,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -37350,7 +37350,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { 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. ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -37397,7 +37397,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -37411,7 +37411,7 @@ public: typedef aggregate_of< IfcBuildingSystem > list; }; -class IFC_PARSE_API IfcBuiltElement : public IfcElement { +class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37420,7 +37420,7 @@ public: typedef aggregate_of< IfcBuiltElement > list; }; -class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { +class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v); @@ -37459,7 +37459,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v); @@ -37495,7 +37495,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -37538,7 +37538,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -37577,7 +37577,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -37629,7 +37629,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37641,7 +37641,7 @@ public: typedef aggregate_of< IfcCableSegmentType > list; }; -class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v); @@ -37683,7 +37683,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc3::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37735,7 +37735,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuiltElement { +class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: /// 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. @@ -37774,7 +37774,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37786,7 +37786,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37821,7 +37821,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc3::IfcCoilTypeEnum::Value PredefinedType() const; @@ -38103,7 +38103,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuiltElement { +class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: /// 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. @@ -38362,7 +38362,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -38402,7 +38402,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -38440,7 +38440,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -38478,7 +38478,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -38511,7 +38511,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -38549,7 +38549,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -38576,7 +38576,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -38589,7 +38589,7 @@ public: typedef aggregate_of< IfcConstructionProductResource > list; }; -class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v); @@ -38628,7 +38628,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -38672,7 +38672,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38684,7 +38684,7 @@ public: typedef aggregate_of< IfcCoolingTowerType > list; }; -class IFC_PARSE_API IfcCourse : public IfcBuiltElement { +class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v); @@ -38918,7 +38918,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuiltElement { +class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -39069,7 +39069,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: /// 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. @@ -39117,7 +39117,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4x3_rc3::IfcDamperTypeEnum::Value PredefinedType() const; @@ -39129,7 +39129,7 @@ public: typedef aggregate_of< IfcDamperType > list; }; -class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { +class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39310,7 +39310,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -39509,7 +39509,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -39521,7 +39521,7 @@ public: typedef aggregate_of< IfcDiscreteAccessoryType > list; }; -class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v); @@ -39568,7 +39568,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -39633,7 +39633,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39803,7 +39803,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -39880,7 +39880,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -39971,7 +39971,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -40027,7 +40027,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40399,7 +40399,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuiltElement { +class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -40536,7 +40536,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40573,7 +40573,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -40613,7 +40613,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -40650,7 +40650,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -40662,7 +40662,7 @@ public: typedef aggregate_of< IfcDuctSilencerType > list; }; -class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v); @@ -40673,7 +40673,7 @@ public: typedef aggregate_of< IfcEarthworksCut > list; }; -class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { +class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40682,7 +40682,7 @@ public: typedef aggregate_of< IfcEarthworksElement > list; }; -class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { +class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v); @@ -40721,7 +40721,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40759,7 +40759,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40797,7 +40797,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40809,7 +40809,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDeviceType > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v); @@ -40851,7 +40851,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -40889,7 +40889,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -40927,7 +40927,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -40947,7 +40947,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40996,7 +40996,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v); @@ -41050,7 +41050,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -41124,7 +41124,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v); @@ -41149,7 +41149,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -41189,7 +41189,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4x3_rc3::IfcFanTypeEnum::Value PredefinedType() const; @@ -41229,7 +41229,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4x3_rc3::IfcFilterTypeEnum::Value PredefinedType() const; @@ -41273,7 +41273,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -41293,7 +41293,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41306,7 +41306,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41344,7 +41344,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -41435,7 +41435,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v); @@ -41450,7 +41450,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41481,7 +41481,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41498,7 +41498,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41517,7 +41517,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41530,7 +41530,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41560,7 +41560,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuiltElement { +class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: /// The generic type of the footing. /// @@ -41574,7 +41574,7 @@ public: typedef aggregate_of< IfcFooting > list; }; -class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41678,7 +41678,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcPositioningElement { +class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr UAxes() const; @@ -41747,7 +41747,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v); @@ -41800,7 +41800,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v); @@ -41867,7 +41867,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v); @@ -41943,7 +41943,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v); @@ -41954,7 +41954,7 @@ public: typedef aggregate_of< IfcJunctionBox > list; }; -class IFC_PARSE_API IfcKerb : public IfcBuiltElement { +class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: bool Mountable() const; void setMountable(bool v); @@ -42011,7 +42011,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v); @@ -42087,7 +42087,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v); @@ -42098,7 +42098,7 @@ public: typedef aggregate_of< IfcLightFixture > list; }; -class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { +class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42107,7 +42107,7 @@ public: typedef aggregate_of< IfcLinearPositioningElement > list; }; -class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v); @@ -42161,7 +42161,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v); @@ -42421,7 +42421,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuiltElement { +class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: /// 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. @@ -42674,7 +42674,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42683,7 +42683,7 @@ public: typedef aggregate_of< IfcMemberStandardCase > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v); @@ -42694,7 +42694,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsAppliance > list; }; -class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v); @@ -42745,7 +42745,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v); @@ -42756,7 +42756,7 @@ public: typedef aggregate_of< IfcMotorConnection > list; }; -class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { +class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v); @@ -42771,7 +42771,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42845,7 +42845,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v); @@ -42856,7 +42856,7 @@ public: typedef aggregate_of< IfcOutlet > list; }; -class IFC_PARSE_API IfcPavement : public IfcBuiltElement { +class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v); @@ -42884,7 +42884,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcDeepFoundation { +class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: /// The predefined generic type of the pile according to function. /// @@ -42987,7 +42987,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v); @@ -43057,7 +43057,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v); @@ -43295,7 +43295,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuiltElement { +class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: /// 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. @@ -43462,7 +43462,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -43546,7 +43546,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v); @@ -43596,7 +43596,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -43656,7 +43656,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v); @@ -43667,7 +43667,7 @@ public: typedef aggregate_of< IfcPump > list; }; -class IFC_PARSE_API IfcRail : public IfcBuiltElement { +class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v); @@ -43809,7 +43809,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuiltElement { +class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: /// 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. @@ -43955,7 +43955,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuiltElement { +class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -44158,7 +44158,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: /// 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. @@ -44208,7 +44208,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -44220,7 +44220,7 @@ public: typedef aggregate_of< IfcRationalBSplineCurveWithKnots > list; }; -class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { +class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v); @@ -44258,7 +44258,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -44293,7 +44293,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -44465,7 +44465,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuiltElement { +class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -44604,7 +44604,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v); @@ -44662,7 +44662,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc3::IfcSensorTypeEnum::Value PredefinedType() const; @@ -44687,7 +44687,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: /// 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. @@ -44700,7 +44700,7 @@ public: typedef aggregate_of< IfcShadingDevice > list; }; -class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v); @@ -44970,7 +44970,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuiltElement { +class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: /// 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. @@ -45067,7 +45067,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45234,7 +45234,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45289,7 +45289,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v); @@ -45361,7 +45361,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v); @@ -45421,7 +45421,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v); @@ -45596,7 +45596,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuiltElement { +class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -45776,7 +45776,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -45830,7 +45830,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -45869,7 +45869,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -45891,7 +45891,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45987,7 +45987,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v); @@ -46057,7 +46057,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v); @@ -46068,7 +46068,7 @@ public: typedef aggregate_of< IfcTank > list; }; -class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { +class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v); @@ -46120,7 +46120,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v); @@ -46177,7 +46177,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v); @@ -46213,7 +46213,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -46296,7 +46296,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -46492,7 +46492,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v); @@ -46744,7 +46744,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuiltElement { +class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: /// 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. @@ -46856,7 +46856,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47066,7 +47066,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47178,7 +47178,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v); @@ -47546,7 +47546,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuiltElement { +class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -47693,7 +47693,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47732,7 +47732,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -47800,7 +47800,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v); @@ -47852,7 +47852,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v); @@ -47907,7 +47907,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -47943,7 +47943,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -47955,7 +47955,7 @@ public: typedef aggregate_of< IfcAlarmType > list; }; -class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { +class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v); @@ -48143,7 +48143,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -48390,7 +48390,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuiltElement { +class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: /// 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. @@ -48655,7 +48655,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48664,7 +48664,7 @@ public: typedef aggregate_of< IfcBeamStandardCase > list; }; -class IFC_PARSE_API IfcBearing : public IfcBuiltElement { +class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v); @@ -48743,7 +48743,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v); @@ -48754,7 +48754,7 @@ public: typedef aggregate_of< IfcBoiler > list; }; -class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48952,7 +48952,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v); @@ -49003,7 +49003,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v); @@ -49074,7 +49074,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -49144,7 +49144,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -49229,7 +49229,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -49327,7 +49327,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -49339,7 +49339,7 @@ public: typedef aggregate_of< IfcCableSegment > list; }; -class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { +class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v); @@ -49418,7 +49418,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v); @@ -49494,7 +49494,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v); @@ -49606,7 +49606,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -49662,7 +49662,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v); @@ -49738,7 +49738,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v); @@ -49784,7 +49784,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc3::IfcControllerTypeEnum::Value PredefinedType() const; @@ -49796,7 +49796,7 @@ public: typedef aggregate_of< IfcControllerType > list; }; -class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v); @@ -49855,7 +49855,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v); @@ -49922,7 +49922,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v); @@ -50003,7 +50003,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v); @@ -50014,7 +50014,7 @@ public: typedef aggregate_of< IfcDamper > list; }; -class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v); @@ -50055,7 +50055,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v); @@ -50066,7 +50066,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -50152,7 +50152,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -50236,7 +50236,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v); @@ -50295,7 +50295,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v); @@ -50347,7 +50347,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v); @@ -50455,7 +50455,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v); @@ -50522,7 +50522,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -50573,7 +50573,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -50584,7 +50584,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDevice > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v); @@ -50641,7 +50641,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v); @@ -50692,7 +50692,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v); @@ -50743,7 +50743,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v); @@ -50807,7 +50807,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v); @@ -50904,7 +50904,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v); @@ -50980,7 +50980,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -51042,7 +51042,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v); @@ -51053,7 +51053,7 @@ public: typedef aggregate_of< IfcFlowInstrument > list; }; -class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51062,7 +51062,7 @@ public: typedef aggregate_of< IfcGeomodel > list; }; -class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51122,7 +51122,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -51266,7 +51266,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v); @@ -51331,7 +51331,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v); @@ -51403,7 +51403,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v); @@ -51455,7 +51455,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v); @@ -51571,7 +51571,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index ef5e724fe5..51c8598297 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -60,7 +60,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcBaseClass IfcActorSelect; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -75,17 +75,17 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcAppliedValueSelect; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcAxis2Placement; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcBendingParameterSelect; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -102,7 +102,7 @@ typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcBaseClass IfcBooleanOperand; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -111,7 +111,7 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -125,38 +125,38 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcBaseClass IfcClassificationSelect; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColour; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcColourOrFactor; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCoordinateReferenceSystemSelect; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCsgSelect; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveMeasureSelect; +class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -165,13 +165,13 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcCurveStyleFontSelect; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -179,7 +179,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -254,7 +254,7 @@ typedef IfcUtil::IfcBaseClass IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -263,22 +263,22 @@ typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcBaseClass IfcDocumentSelect; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcFacilityPartTypeSelect; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcFillStyleSelect; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcGeometricSetSelect; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -287,15 +287,15 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcHatchLineDistanceSelect; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcImpactProtectionDeviceTypeSelect; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -303,7 +303,7 @@ typedef IfcUtil::IfcBaseClass IfcInterferenceSelect; /// 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::IfcBaseClass IfcLayeredItem; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -314,7 +314,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcLibrarySelect; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -337,7 +337,7 @@ typedef IfcUtil::IfcBaseClass IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -364,7 +364,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcMaterialSelect; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -374,7 +374,7 @@ typedef IfcUtil::IfcBaseClass IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcBaseClass IfcMeasureValue; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -387,23 +387,23 @@ typedef IfcUtil::IfcBaseClass IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcBaseClass IfcMetricValueSelect; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcObjectReferenceSelect; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -411,7 +411,7 @@ typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -422,9 +422,9 @@ typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProcessSelect; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -434,13 +434,13 @@ typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcProductSelect; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcResourceObjectSelect; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -450,13 +450,13 @@ typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcResourceSelect; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcRotationalStiffnessSelect; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -468,7 +468,7 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// 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::IfcBaseClass IfcShell; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -488,7 +488,7 @@ typedef IfcUtil::IfcBaseClass IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcBaseClass IfcSimpleValue; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -501,7 +501,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSizeSelect; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 /// @@ -509,7 +509,7 @@ typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSolidOrShell; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -522,9 +522,9 @@ typedef IfcUtil::IfcBaseClass IfcSolidOrShell; /// /// HISTORY New select type /// in IFC2x4. -typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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: @@ -535,7 +535,7 @@ typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect; /// 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::IfcBaseClass IfcSpecularHighlightSelect; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -545,7 +545,7 @@ typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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 @@ -555,7 +555,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceOrFaceSurface; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -565,7 +565,7 @@ typedef IfcUtil::IfcBaseClass 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::IfcBaseClass IfcSurfaceStyleElementSelect; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -573,22 +573,22 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcBaseClass IfcTextFontSelect; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTranslationalStiffnessSelect; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; -typedef IfcUtil::IfcBaseClass IfcTransportElementTypeSelect; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcTrimmingSelect; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; /// 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. @@ -602,7 +602,7 @@ typedef IfcUtil::IfcBaseClass IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcBaseClass IfcUnit; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -613,7 +613,7 @@ typedef IfcUtil::IfcBaseClass IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcBaseClass IfcValue; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -622,11 +622,11 @@ typedef IfcUtil::IfcBaseClass IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcBaseClass IfcVectorOrDirection; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; /// 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::IfcBaseClass IfcWarpingStiffnessSelect; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -7884,7 +7884,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7897,7 +7897,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAccelerationMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7913,7 +7913,7 @@ public: /// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7926,7 +7926,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7935,7 +7935,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcArcIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7944,7 +7944,7 @@ public: operator std::vector< int > /*[3:3]*/() const; }; -class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7959,7 +7959,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7968,7 +7968,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -7981,7 +7981,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType, public IfcValue, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcSimpleValue, public IfcRotationalStiffnessSelect, public IfcAppliedValueSelect, public IfcWarpingStiffnessSelect, public IfcMetricValueSelect, public IfcTranslationalStiffnessSelect, public IfcModulusOfSubgradeReactionSelect, public IfcModulusOfRotationalSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8032,7 +8032,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8051,7 +8051,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8107,7 +8107,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8121,7 +8121,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8135,7 +8135,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8150,7 +8150,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8164,7 +8164,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8190,7 +8190,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8210,7 +8210,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8252,7 +8252,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8266,7 +8266,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8281,7 +8281,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8294,7 +8294,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8307,7 +8307,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType, public IfcValue, public IfcTimeOrRatioSelect, public IfcSimpleValue, public IfcMetricValueSelect, public IfcAppliedValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8321,7 +8321,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8334,7 +8334,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8347,7 +8347,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8360,7 +8360,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8375,7 +8375,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8388,7 +8388,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8401,7 +8401,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8414,7 +8414,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8436,7 +8436,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8456,7 +8456,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8487,7 +8487,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8500,7 +8500,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8513,7 +8513,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8534,7 +8534,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8547,7 +8547,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8558,7 +8558,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8580,7 +8580,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8593,7 +8593,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8606,7 +8606,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8621,7 +8621,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8636,7 +8636,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8647,7 +8647,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8660,7 +8660,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8673,7 +8673,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8695,7 +8695,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8713,7 +8713,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8728,7 +8728,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcBendingParameterSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8737,7 +8737,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType, public IfcSegmentIndexSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8750,7 +8750,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8763,7 +8763,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8776,7 +8776,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcMetricValueSelect, public IfcAppliedValueSelect, public IfcTranslationalStiffnessSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8789,7 +8789,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8802,7 +8802,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8815,7 +8815,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8830,7 +8830,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8845,7 +8845,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8858,7 +8858,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8871,7 +8871,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8884,7 +8884,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8897,7 +8897,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8912,7 +8912,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8927,7 +8927,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8940,7 +8940,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8953,7 +8953,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcModulusOfTranslationalSubgradeReactionSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8966,7 +8966,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcModulusOfRotationalSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8983,7 +8983,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcModulusOfSubgradeReactionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -8996,7 +8996,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9009,7 +9009,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9022,7 +9022,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9034,7 +9034,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9098,7 +9098,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9111,7 +9111,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure, public IfcCurveMeasureSelect, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9125,7 +9125,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9136,7 +9136,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9151,7 +9151,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType, public IfcCurveMeasureSelect, public IfcValue, public IfcTrimmingSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9164,7 +9164,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9183,7 +9183,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcBendingParameterSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9192,7 +9192,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9206,7 +9206,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure, public IfcValue, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue, public IfcHatchLineDistanceSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9220,7 +9220,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9233,7 +9233,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9250,7 +9250,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9263,7 +9263,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9272,7 +9272,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType, public IfcPropertySetDefinitionSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9285,7 +9285,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9303,7 +9303,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcTimeOrRatioSelect, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9318,7 +9318,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9331,7 +9331,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9345,7 +9345,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9358,7 +9358,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcRotationalStiffnessSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9371,7 +9371,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9384,7 +9384,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9397,7 +9397,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9412,7 +9412,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9421,7 +9421,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9434,7 +9434,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9443,7 +9443,7 @@ public: operator double() const; }; -class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9456,7 +9456,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9469,7 +9469,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9484,7 +9484,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9501,7 +9501,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType, public IfcSpecularHighlightSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9514,7 +9514,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9527,7 +9527,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9546,7 +9546,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9564,7 +9564,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9585,7 +9585,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9612,7 +9612,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9630,7 +9630,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9643,7 +9643,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9656,7 +9656,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9668,7 +9668,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9680,7 +9680,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9693,7 +9693,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9708,7 +9708,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9724,7 +9724,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9739,7 +9739,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9751,7 +9751,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcValue, public IfcSimpleValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9764,7 +9764,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9779,7 +9779,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9792,7 +9792,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9807,7 +9807,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9820,7 +9820,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9833,7 +9833,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType, public IfcAppliedValueSelect, public IfcDerivedMeasureValue, public IfcValue, public IfcMetricValueSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9846,7 +9846,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType, public IfcValue, public IfcDerivedMeasureValue, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcWarpingStiffnessSelect { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9879,7 +9879,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9892,7 +9892,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure, public IfcValue, public IfcColourOrFactor, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9906,7 +9906,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure, public IfcValue, public IfcSizeSelect, public IfcAppliedValueSelect, public IfcMetricValueSelect, public IfcMeasureValue { public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); @@ -9926,7 +9926,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. @@ -9953,7 +9953,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect { public: /// Identifies the logical location of the address. boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Purpose() const; @@ -9976,7 +9976,7 @@ public: typedef aggregate_of< IfcAddress > list; }; -class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { public: boost::optional< std::string > StartTag() const; void setStartTag(boost::optional< std::string > v); @@ -9989,7 +9989,7 @@ public: typedef aggregate_of< IfcAlignmentParameterSegment > list; }; -class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -10014,7 +10014,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc4::IfcOrganization* ApplicationDeveloper() const; @@ -10048,7 +10048,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// A name or additional clarification given to a cost value. boost::optional< std::string > Name() const; @@ -10096,7 +10096,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A computer interpretable identifier by which the approval is known. boost::optional< std::string > Identifier() const; @@ -10157,7 +10157,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this boundary condition. boost::optional< std::string > Name() const; @@ -10178,7 +10178,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; @@ -10214,7 +10214,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; @@ -10241,7 +10241,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; @@ -10276,7 +10276,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Defines the warping stiffness value. ::Ifc4x3_rc4::IfcWarpingStiffnessSelect* WarpingStiffness() const; @@ -10301,7 +10301,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10325,7 +10325,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -10347,7 +10347,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -10367,7 +10367,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -10393,7 +10393,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10473,7 +10473,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. ::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -10509,7 +10509,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity, public IfcCoordinateReferenceSystemSelect { public: /// 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. @@ -10580,7 +10580,7 @@ public: /// Whole life /// /// 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. -class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10595,7 +10595,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The group of units and their exponents that define the derived unit. aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Elements() const; @@ -10620,7 +10620,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc4::IfcNamedUnit* Unit() const; @@ -10651,7 +10651,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -10686,7 +10686,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10703,7 +10703,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcLightDistributionDataSourceSelect { public: /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -10739,7 +10739,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference, public IfcFillStyleSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10754,7 +10754,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference, public IfcSurfaceStyleElementSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10769,7 +10769,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -10800,7 +10800,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// The tag or name for this grid axis. boost::optional< std::string > AxisTag() const; @@ -10824,7 +10824,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -10846,7 +10846,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation, public IfcLibrarySelect { public: /// The name which is used to identify the library. std::string Name() const; @@ -10884,7 +10884,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference, public IfcLibrarySelect { public: /// Additional description provided for the library reference. /// @@ -10921,7 +10921,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -10943,7 +10943,7 @@ public: /// 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. /// /// New entity in IFC2x2. -class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity, public IfcLightDistributionDataSourceSelect { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -10968,7 +10968,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API 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 @@ -11010,7 +11010,7 @@ public: /// HISTORY New entity in IFC2x. /// /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. aggregate_of_instance::ptr MaterialClassifications() const; @@ -11048,7 +11048,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORY New entity in IFC2x4 -class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -11082,7 +11082,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// 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. ::Ifc4x3_rc4::IfcMaterial* Material() const; @@ -11153,7 +11153,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr MaterialLayers() const; @@ -11215,7 +11215,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -11246,7 +11246,7 @@ public: /// /// IFC2x4 CHANGE The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: /// Materials used in a composition of substances. aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Materials() const; @@ -11262,7 +11262,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// The name by which the material profile is known. boost::optional< std::string > Name() const; @@ -11294,7 +11294,7 @@ public: /// NOTE In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// The name by which the material profile set is known. boost::optional< std::string > Name() const; @@ -11322,7 +11322,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -11364,7 +11364,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity, public IfcMaterialSelect { public: aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; @@ -11383,7 +11383,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc4::IfcValue* ValueComponent() const; @@ -11449,7 +11449,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IFC_PARSE_API IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc4::IfcBenchmarkEnum::Value Benchmark() const; @@ -11473,7 +11473,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -11489,7 +11489,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity, public IfcUnit { public: /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc4::IfcDimensionalExponents* Dimensions() const; @@ -11514,7 +11514,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: ::Ifc4x3_rc4::IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x3_rc4::IfcObjectPlacement* v); @@ -11534,7 +11534,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IFC_PARSE_API IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// A list of any benchmark values used for comparison purposes. boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > BenchmarkValues() const; @@ -11561,7 +11561,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the organization. boost::optional< std::string > Identification() const; @@ -11598,7 +11598,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcPersonAndOrganization* OwningUser() const; @@ -11639,7 +11639,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// Identification of the person. boost::optional< std::string > Identification() const; @@ -11683,7 +11683,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity, public IfcObjectReferenceSelect, public IfcResourceObjectSelect, public IfcActorSelect { public: /// The person who is related to the organization. ::Ifc4x3_rc4::IfcPerson* ThePerson() const; @@ -11705,7 +11705,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -11730,7 +11730,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// 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. ::Ifc4x3_rc4::IfcNamedUnit* Unit() const; @@ -11744,7 +11744,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// An organization defined address for internal mail delivery. boost::optional< std::string > InternalLocation() const; @@ -11780,7 +11780,7 @@ public: typedef aggregate_of< IfcPostalAddress > list; }; -class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -11803,7 +11803,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -11836,7 +11836,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API 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. boost::logic::tribool LayerOn() const; @@ -11865,7 +11865,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Name of the presentation style. boost::optional< std::string > Name() const; @@ -11893,7 +11893,7 @@ public: /// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the product representation is known. boost::optional< std::string > Name() const; @@ -12080,7 +12080,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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. ::Ifc4x3_rc4::IfcProfileTypeEnum::Value ProfileType() const; @@ -12119,7 +12119,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Name by which the map projection is identified. /// @@ -12144,7 +12144,7 @@ public: typedef aggregate_of< IfcProjectedCRS > list; }; -class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { public: aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; @@ -12199,7 +12199,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -12221,7 +12221,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -12242,7 +12242,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -12263,7 +12263,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -12284,7 +12284,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -12305,7 +12305,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -12326,7 +12326,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -12348,7 +12348,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -12394,7 +12394,7 @@ public: typedef aggregate_of< IfcRecurrencePattern > list; }; -class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity, public IfcAppliedValueSelect, public IfcMetricValueSelect { public: boost::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(boost::optional< std::string > v); @@ -12458,7 +12458,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc4::IfcRepresentationContext* ContextOfItems() const; @@ -12492,7 +12492,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// The optional identifier of the representation context as used within a project. boost::optional< std::string > ContextIdentifier() const; @@ -12539,7 +12539,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity, public IfcLayeredItem { public: aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item @@ -12560,7 +12560,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity, public IfcProductRepresentationSelect { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -12580,7 +12580,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// A name used to identify or qualify the relationship. boost::optional< std::string > Name() const; @@ -12603,7 +12603,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -12634,7 +12634,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// The SI Prefix for defining decimal multiples and submultiples of the unit. boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Prefix() const; @@ -12653,7 +12653,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Optional name for the time definition. boost::optional< std::string > Name() const; @@ -12708,7 +12708,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity, public IfcResourceObjectSelect { 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 @@ -12754,7 +12754,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; @@ -12898,7 +12898,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12909,7 +12909,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this connection condition. boost::optional< std::string > Name() const; @@ -12923,7 +12923,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Optionally defines a name for this load. boost::optional< std::string > Name() const; @@ -12945,7 +12945,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Values() const; @@ -12962,7 +12962,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12973,7 +12973,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -12986,7 +12986,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -13014,7 +13014,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13050,7 +13050,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// A geometric representation item to which the style is assigned. /// @@ -13081,7 +13081,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -13094,7 +13094,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// 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. boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -13118,7 +13118,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc4::IfcSurfaceSide::Value Side() const; @@ -13143,7 +13143,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { 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. @@ -13172,7 +13172,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// 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 boost::optional< double > RefractionIndex() const; @@ -13193,7 +13193,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc4::IfcColourRgb* SurfaceColour() const; @@ -13224,7 +13224,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem, public IfcSurfaceStyleElementSelect { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Textures() const; @@ -13327,7 +13327,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -13378,7 +13378,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect { public: /// A unique name which is intended to describe the usage of the Table. boost::optional< std::string > Name() const; @@ -13400,7 +13400,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Table column identifier. boost::optional< std::string > Identifier() const; @@ -13435,7 +13435,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. boost::optional< aggregate_of_instance::ptr > RowCells() const; @@ -13457,7 +13457,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -13573,7 +13573,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: ::Ifc4x3_rc4::IfcRecurrencePattern* Recurrence() const; void setRecurrence(::Ifc4x3_rc4::IfcRecurrencePattern* v); @@ -13589,7 +13589,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// The list of telephone numbers at which telephone messages may be received. boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -13646,7 +13646,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: /// A character style to be used for presented text. ::Ifc4x3_rc4::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; @@ -13688,7 +13688,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc4::IfcColour* Colour() const; @@ -13709,7 +13709,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -13756,7 +13756,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Maps() const; void setMaps(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v); @@ -13792,7 +13792,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13861,7 +13861,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13903,7 +13903,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13915,7 +13915,7 @@ public: typedef aggregate_of< IfcTextureVertex > list; }; -class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13931,7 +13931,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13950,7 +13950,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity, public IfcMetricValueSelect, public IfcObjectReferenceSelect, public IfcResourceObjectSelect { public: /// An unique name for the time series. std::string Name() const; @@ -13992,7 +13992,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. aggregate_of_instance::ptr ListValues() const; @@ -14008,7 +14008,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14050,7 +14050,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14063,7 +14063,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. aggregate_of_instance::ptr Units() const; @@ -14084,7 +14084,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -14101,7 +14101,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IFC_PARSE_API IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex, public IfcPointOrVertexPoint { public: /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc4::IfcPoint* VertexGeometry() const; @@ -14171,7 +14171,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity, public IfcGridPlacementDirectionSelect { 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. aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr IntersectingAxes() const; @@ -14193,7 +14193,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -14215,7 +14215,7 @@ public: typedef aggregate_of< IfcWorkTime > list; }; -class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: double StartDistAlong() const; void setStartDistAlong(double v); @@ -14238,7 +14238,7 @@ public: typedef aggregate_of< IfcAlignmentCantSegment > list; }; -class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { +class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: ::Ifc4x3_rc4::IfcCartesianPoint* StartPoint() const; void setStartPoint(::Ifc4x3_rc4::IfcCartesianPoint* v); @@ -14267,7 +14267,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. ::Ifc4x3_rc4::IfcApproval* RelatingApproval() const; @@ -14299,7 +14299,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc4::IfcCurve* OuterCurve() const; @@ -14325,7 +14325,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. ::Ifc4x3_rc4::IfcBoundedCurve* Curve() const; @@ -14355,7 +14355,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr InnerCurves() const; @@ -14375,7 +14375,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -14418,7 +14418,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -14444,7 +14444,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IFC_PARSE_API IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// Source (or publisher) for this classification. /// @@ -14523,7 +14523,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference, public IfcClassificationSelect, public IfcClassificationReferenceSelect { public: /// The classification system or source that is referenced. ::Ifc4x3_rc4::IfcClassificationReferenceSelect* ReferencedSource() const; @@ -14544,7 +14544,7 @@ public: typedef aggregate_of< IfcClassificationReference > list; }; -class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14559,7 +14559,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem, public IfcFillStyleSelect, public IfcColour { public: /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -14609,7 +14609,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Profiles() const; @@ -14632,7 +14632,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr CfsFaces() const; @@ -14656,7 +14656,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14689,7 +14689,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Distance in x direction between the two points (or vertex points) engaged in the point connection. boost::optional< double > EccentricityInX() const; @@ -14713,7 +14713,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14772,7 +14772,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit, public IfcResourceObjectSelect { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14805,7 +14805,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14827,7 +14827,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14869,7 +14869,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: /// 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. ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; @@ -14893,7 +14893,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: /// Name that may be assigned with the curve font. boost::optional< std::string > Name() const; @@ -14918,7 +14918,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem, public IfcCurveFontOrScaledCurveFontSelect { public: /// Name that may be assigned with the scaling of a curve font. boost::optional< std::string > Name() const; @@ -14940,7 +14940,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -15042,7 +15042,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc4::IfcProfileDef* ParentProfile() const; @@ -15062,7 +15062,7 @@ public: /// 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 IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation, public IfcDocumentSelect { public: std::string Identification() const; void setIdentification(std::string v); @@ -15146,7 +15146,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc4::IfcDocumentInformation* RelatingDocument() const; @@ -15174,7 +15174,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference, public IfcDocumentSelect { public: /// Description of the document reference for informational purposes. /// @@ -15240,7 +15240,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. ::Ifc4x3_rc4::IfcVertex* EdgeStart() const; @@ -15287,7 +15287,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge, public IfcCurveOrEdgeCurve { 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. ::Ifc4x3_rc4::IfcCurve* EdgeGeometry() const; @@ -15324,7 +15324,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// The date on which an event actually occurs. It is a measured value. boost::optional< std::string > ActualDate() const; @@ -15347,7 +15347,7 @@ public: typedef aggregate_of< IfcEventTime > list; }; -class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); @@ -15368,7 +15368,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -15428,7 +15428,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr Bounds() const; @@ -15445,7 +15445,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. ::Ifc4x3_rc4::IfcLoop* Bound() const; @@ -15464,7 +15464,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15508,7 +15508,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IFC_PARSE_API IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace, public IfcSurfaceOrFaceSurface { 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. ::Ifc4x3_rc4::IfcSurface* FaceSurface() const; @@ -15529,7 +15529,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Tension force in x-direction leading to failure of the connection. boost::optional< double > TensionFailureX() const; @@ -15589,7 +15589,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. aggregate_of_instance::ptr FillStyles() const; @@ -15649,7 +15649,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext, public IfcCoordinateReferenceSystemSelect { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15692,7 +15692,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -15713,7 +15713,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc4::IfcGeometricRepresentationContext* ParentContext() const; @@ -15750,7 +15750,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. aggregate_of_instance::ptr Elements() const; @@ -15806,7 +15806,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc4::IfcVirtualGridIntersection* PlacementLocation() const; @@ -15837,7 +15837,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem, public IfcBooleanOperand { public: /// Surface defining side of half space. ::Ifc4x3_rc4::IfcSurface* BaseSurface() const; @@ -15886,7 +15886,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15898,7 +15898,7 @@ public: typedef aggregate_of< IfcImageTexture > list; }; -class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x3_rc4::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v); @@ -15915,7 +15915,7 @@ public: typedef aggregate_of< IfcIndexedColourMap > list; }; -class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: ::Ifc4x3_rc4::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v); @@ -15928,7 +15928,7 @@ public: typedef aggregate_of< IfcIndexedTextureMap > list; }; -class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); @@ -15943,7 +15943,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15991,7 +15991,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -16014,7 +16014,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// The name given to the light source in presentation. boost::optional< std::string > Name() const; @@ -16042,7 +16042,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16059,7 +16059,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16078,7 +16078,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; @@ -16119,7 +16119,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API 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. @@ -16159,7 +16159,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API 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. @@ -16183,7 +16183,7 @@ public: typedef aggregate_of< IfcLightSourceSpot > list; }; -class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x3_rc4::IfcAxis2PlacementLinear* RelativePlacement() const; void setRelativePlacement(::Ifc4x3_rc4::IfcAxis2PlacementLinear* v); @@ -16247,7 +16247,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// 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. ::Ifc4x3_rc4::IfcAxis2Placement* RelativePlacement() const; @@ -16284,7 +16284,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16311,7 +16311,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcRepresentationMap* MappingSource() const; @@ -16352,7 +16352,7 @@ public: /// HISTORYNew entity in IFC2x4 /// /// IFC2x4 CHANGE The attributes Description and Category have been added. -class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -16387,7 +16387,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// The name by which the material constituent is known. boost::optional< std::string > Name() const; @@ -16425,7 +16425,7 @@ public: /// keywords. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// The name by which the constituent set is known. boost::optional< std::string > Name() const; @@ -16472,7 +16472,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. ::Ifc4x3_rc4::IfcMaterial* RepresentedMaterial() const; @@ -16583,7 +16583,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialLayerSet* ForLayerSet() const; @@ -16625,7 +16625,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYNew Entity in IFC2x4. -class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialProfileSet* ForProfileSet() const; @@ -16672,7 +16672,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16708,7 +16708,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16724,7 +16724,7 @@ public: /// 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. /// /// HISTORYNew Entity in IFC2x4 -class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). ::Ifc4x3_rc4::IfcMaterial* RelatingMaterial() const; @@ -16768,7 +16768,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16826,7 +16826,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -16842,7 +16842,7 @@ public: typedef aggregate_of< IfcObjectDefinition > list; }; -class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: bool HorizontalWidths() const; void setHorizontalWidths(bool v); @@ -16917,7 +16917,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -16931,7 +16931,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc4::IfcOrganization* RelatingOrganization() const; @@ -16952,7 +16952,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc4::IfcEdge* EdgeElement() const; @@ -17008,7 +17008,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc4::IfcAxis2Placement2D* Position() const; @@ -17033,7 +17033,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr EdgeList() const; @@ -17053,7 +17053,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -17091,7 +17091,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -17122,7 +17122,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc4::IfcPoint* Location() const; @@ -17138,7 +17138,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -17157,7 +17157,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem, public IfcPointOrVertexPoint, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17166,7 +17166,7 @@ public: typedef aggregate_of< IfcPoint > list; }; -class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { +class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: ::Ifc4x3_rc4::IfcCurveMeasureSelect* DistanceAlong() const; void setDistanceAlong(::Ifc4x3_rc4::IfcCurveMeasureSelect* v); @@ -17193,7 +17193,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. ::Ifc4x3_rc4::IfcCurve* BasisCurve() const; @@ -17216,7 +17216,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. ::Ifc4x3_rc4::IfcSurface* BasisSurface() const; @@ -17272,7 +17272,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IFC_PARSE_API IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Polygon() const; @@ -17339,7 +17339,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; @@ -17362,7 +17362,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -17374,7 +17374,7 @@ public: typedef aggregate_of< IfcPreDefinedItem > list; }; -class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17393,7 +17393,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem, public IfcTextFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17413,7 +17413,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation, public IfcProductRepresentationSelect { public: aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape @@ -17434,7 +17434,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. ::Ifc4x3_rc4::IfcProfileDef* ProfileDefinition() const; @@ -17448,7 +17448,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -17518,7 +17518,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot, public IfcDefinitionSelect { public: aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects @@ -17536,7 +17536,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. ::Ifc4x3_rc4::IfcProperty* DependingProperty() const; @@ -17595,7 +17595,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition, public IfcPropertySetDefinitionSelect { public: aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets @@ -17631,7 +17631,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17640,7 +17640,7 @@ public: typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; -class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17682,7 +17682,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17701,7 +17701,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17720,7 +17720,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17754,7 +17754,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IFC_PARSE_API IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -17768,7 +17768,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. aggregate_of_instance::ptr RelatedResourceObjects() const; @@ -17802,7 +17802,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. ::Ifc4x3_rc4::IfcConstraint* RelatingConstraint() const; @@ -17818,7 +17818,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// 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. @@ -17908,7 +17908,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -17924,7 +17924,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc4::IfcSectionTypeEnum::Value SectionType() const; @@ -17948,7 +17948,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -18027,7 +18027,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcCompositeCurve* SpineCurve() const; @@ -18045,7 +18045,7 @@ public: typedef aggregate_of< IfcSectionedSpine > list; }; -class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: ::Ifc4x3_rc4::IfcTransitionCode::Value Transition() const; void setTransition(::Ifc4x3_rc4::IfcTransitionCode::Value v); @@ -18068,7 +18068,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: aggregate_of_instance::ptr SbsmBoundary() const; void setSbsmBoundary(aggregate_of_instance::ptr v); @@ -18081,7 +18081,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18098,7 +18098,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. boost::optional< double > SlippageX() const; @@ -18120,7 +18120,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcSolidOrShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18133,7 +18133,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Linear force value in x-direction. boost::optional< double > LinearForceX() const; @@ -18164,7 +18164,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Planar force value in x-direction. boost::optional< double > PlanarForceX() const; @@ -18186,7 +18186,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Displacement in x-direction. boost::optional< double > DisplacementX() const; @@ -18215,7 +18215,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. boost::optional< double > Distortion() const; @@ -18232,7 +18232,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Force value in x-direction. boost::optional< double > ForceX() const; @@ -18266,7 +18266,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// The warping moment at the point load. boost::optional< double > WarpingMoment() const; @@ -18287,7 +18287,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc4::IfcEdge* ParentEdge() const; @@ -18308,7 +18308,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18361,7 +18361,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// 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. @@ -18418,7 +18418,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcProfileDef* SweptArea() const; @@ -18485,7 +18485,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc4::IfcCurve* Directrix() const; @@ -18522,7 +18522,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// 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. boost::optional< double > FilletRadius() const; @@ -18538,7 +18538,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcProfileDef* SweptCurve() const; @@ -18580,7 +18580,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18616,7 +18616,7 @@ public: typedef aggregate_of< IfcTShapeProfileDef > list; }; -class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -18634,7 +18634,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -18661,7 +18661,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc4::IfcPlanarExtent* Extent() const; @@ -18740,7 +18740,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -18804,7 +18804,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -18855,7 +18855,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// 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: /// @@ -18906,7 +18906,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject, public IfcProcessSelect { public: /// An identifying designation given to a process type. boost::optional< std::string > Identification() const; @@ -18992,7 +18992,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject, public IfcProductSelect { public: /// 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. boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > RepresentationMaps() const; @@ -19019,7 +19019,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject, public IfcResourceSelect { public: /// An identifying designation given to a resource type. boost::optional< std::string > Identification() const; @@ -19067,7 +19067,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -19103,7 +19103,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem, public IfcHatchLineDistanceSelect, public IfcVectorOrDirection { public: /// The direction of the vector. ::Ifc4x3_rc4::IfcDirection* Orientation() const; @@ -19129,7 +19129,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. ::Ifc4x3_rc4::IfcVertex* LoopVertex() const; @@ -19158,7 +19158,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -19203,7 +19203,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -19242,7 +19242,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19270,7 +19270,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -19325,7 +19325,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -19369,7 +19369,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// The direction of the local Z axis. ::Ifc4x3_rc4::IfcDirection* Axis() const; @@ -19391,7 +19391,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement, public IfcAxis2Placement { public: /// 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.]. ::Ifc4x3_rc4::IfcDirection* RefDirection() const; @@ -19415,7 +19415,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement, public IfcAxis2Placement { public: /// The exact direction of the local Z Axis. ::Ifc4x3_rc4::IfcDirection* Axis() const; @@ -19430,7 +19430,7 @@ public: typedef aggregate_of< IfcAxis2Placement3D > list; }; -class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { +class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: ::Ifc4x3_rc4::IfcDirection* Axis() const; void setAxis(::Ifc4x3_rc4::IfcDirection* v); @@ -19468,7 +19468,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc4::IfcBooleanOperator::Value Operator() const; @@ -19497,7 +19497,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19527,7 +19527,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc4::IfcCartesianPoint* Corner() const; @@ -19577,7 +19577,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc4::IfcBoundingBox* Enclosure() const; @@ -19610,7 +19610,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -19640,7 +19640,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint, public IfcTrimmingSelect { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -19652,7 +19652,7 @@ public: typedef aggregate_of< IfcCartesianPoint > list; }; -class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19661,7 +19661,7 @@ public: typedef aggregate_of< IfcCartesianPointList > list; }; -class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19674,7 +19674,7 @@ public: typedef aggregate_of< IfcCartesianPointList2D > list; }; -class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -19716,7 +19716,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc4::IfcDirection* Axis1() const; @@ -19741,7 +19741,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19759,7 +19759,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19775,7 +19775,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc4::IfcDirection* Axis3() const; @@ -19797,7 +19797,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. boost::optional< double > Scale2() const; @@ -19823,7 +19823,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19883,7 +19883,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet, public IfcSolidOrShell, public IfcShell { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -19899,7 +19899,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification, public IfcColourOrFactor { public: /// The intensity of the red colour component. /// @@ -19927,7 +19927,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IFC_PARSE_API IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API 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. @@ -19949,7 +19949,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { +class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: /// 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. /// @@ -19980,7 +19980,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > BaseCosts() const; void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v); @@ -20005,7 +20005,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IFC_PARSE_API IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. boost::optional< std::string > ObjectType() const; @@ -20044,7 +20044,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value PredefinedType() const; @@ -20060,7 +20060,7 @@ public: /// NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x3. -class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem, public IfcBooleanOperand, public IfcCsgSelect { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; @@ -20112,7 +20112,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API 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). ::Ifc4x3_rc4::IfcCsgSelect* TreeRootExpression() const; @@ -20133,7 +20133,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem, public IfcGeometricSetSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20154,7 +20154,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. ::Ifc4x3_rc4::IfcPlane* BasisSurface() const; @@ -20192,7 +20192,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. ::Ifc4x3_rc4::IfcSurface* BasisSurface() const; @@ -20209,7 +20209,7 @@ public: typedef aggregate_of< IfcCurveBoundedSurface > list; }; -class IFC_PARSE_API IfcCurveSegment : public IfcSegment { +class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: ::Ifc4x3_rc4::IfcPlacement* Placement() const; void setPlacement(::Ifc4x3_rc4::IfcPlacement* v); @@ -20232,7 +20232,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem, public IfcGridPlacementDirectionSelect, public IfcVectorOrDirection { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -20244,7 +20244,7 @@ public: typedef aggregate_of< IfcDirection > list; }; -class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc4::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); @@ -20284,7 +20284,7 @@ public: /// operation (swinging, sliding, folding, etc.)and the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -20315,7 +20315,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr EdgeList() const; @@ -20403,7 +20403,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -20441,7 +20441,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IFC_PARSE_API IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -20457,7 +20457,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; @@ -20484,7 +20484,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -20504,7 +20504,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -20593,7 +20593,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc4::IfcDirection* ExtrudedDirection() const; @@ -20706,7 +20706,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcProfileDef* EndSweptArea() const; @@ -20729,7 +20729,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem, public IfcSurfaceOrFaceSurface { public: /// The set of connected face sets comprising the face based surface model. aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20787,7 +20787,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc4::IfcCurveStyle* HatchLineAppearance() const; @@ -20823,7 +20823,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem, public IfcFillStyleSelect { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr TilingPattern() const; @@ -20898,7 +20898,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc4::IfcDirection* FixedReference() const; @@ -20937,7 +20937,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -20982,7 +20982,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -21056,7 +21056,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value PredefinedType() const; @@ -21074,7 +21074,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21145,7 +21145,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -21173,7 +21173,7 @@ public: typedef aggregate_of< IfcIShapeProfileDef > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { +class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); @@ -21185,7 +21185,7 @@ public: typedef aggregate_of< IfcIndexedPolygonalFace > list; }; -class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(std::vector< std::vector< int > > v); @@ -21246,7 +21246,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -21283,7 +21283,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value PredefinedType() const; @@ -21307,7 +21307,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. ::Ifc4x3_rc4::IfcCartesianPoint* Pnt() const; @@ -21384,7 +21384,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcClosedShell* Outer() const; @@ -21477,7 +21477,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IFC_PARSE_API IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// 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. boost::optional< std::string > ObjectType() const; @@ -21493,7 +21493,7 @@ public: typedef aggregate_of< IfcObject > list; }; -class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: ::Ifc4x3_rc4::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc4::IfcCurve* v); @@ -21514,7 +21514,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -21543,7 +21543,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -21561,7 +21561,7 @@ public: typedef aggregate_of< IfcOffsetCurve3D > list; }; -class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { +class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr OffsetValues() const; void setOffsetValues(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v); @@ -21580,7 +21580,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc4::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x3_rc4::IfcSurface* v); @@ -21598,7 +21598,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API 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. @@ -21646,7 +21646,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IFC_PARSE_API IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21655,7 +21655,7 @@ public: typedef aggregate_of< IfcPlane > list; }; -class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { +class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: ::Ifc4x3_rc4::IfcPlacement* Position() const; void setPosition(::Ifc4x3_rc4::IfcPlacement* v); @@ -21676,7 +21676,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem, public IfcFillStyleSelect, public IfcColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21691,7 +21691,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem, public IfcCurveFontOrScaledCurveFontSelect, public IfcCurveStyleFontSelect { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21719,7 +21719,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21740,7 +21740,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -21792,7 +21792,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IFC_PARSE_API IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject, public IfcProcessSelect { public: /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -21905,7 +21905,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IFC_PARSE_API IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject, public IfcSpatialReferenceSelect, public IfcProductSelect { public: /// 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. ::Ifc4x3_rc4::IfcObjectPlacement* ObjectPlacement() const; @@ -21966,7 +21966,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IFC_PARSE_API IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -21998,7 +21998,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IFC_PARSE_API IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -22110,7 +22110,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// 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). ::Ifc4x3_rc4::IfcValue* UpperBoundValue() const; @@ -22209,7 +22209,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -22290,7 +22290,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -22321,7 +22321,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Description of the use of the referenced value within the property. boost::optional< std::string > UsageName() const; @@ -22390,7 +22390,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr HasProperties() const; @@ -22432,7 +22432,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// 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). @@ -22504,7 +22504,7 @@ public: /// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Value and measure type of this property. /// @@ -22638,7 +22638,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -22694,7 +22694,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates @@ -22720,7 +22720,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IFC_PARSE_API IfcProxy : public IfcProduct { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcObjectTypeEnum::Value ProxyType() const; @@ -22754,7 +22754,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -22859,7 +22859,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22891,7 +22891,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. ::Ifc4x3_rc4::IfcSurface* BasisSurface() const; @@ -22946,7 +22946,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Descriptive type name applied to reinforcement definition properties. boost::optional< std::string > DefinitionType() const; @@ -22971,7 +22971,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -22995,7 +22995,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc4::IfcActor* RelatingActor() const; @@ -23014,7 +23014,7 @@ public: /// EXAMPLE The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc4::IfcControl* RelatingControl() const; @@ -23038,7 +23038,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. ::Ifc4x3_rc4::IfcGroup* RelatingGroup() const; @@ -23058,7 +23058,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -23091,7 +23091,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -23115,7 +23115,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -23134,7 +23134,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -23188,7 +23188,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -23204,7 +23204,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc4::IfcApproval* RelatingApproval() const; @@ -23245,7 +23245,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. ::Ifc4x3_rc4::IfcClassificationSelect* RelatingClassification() const; @@ -23259,7 +23259,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API 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. boost::optional< std::string > Intent() const; @@ -23280,7 +23280,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. ::Ifc4x3_rc4::IfcDocumentSelect* RelatingDocument() const; @@ -23298,7 +23298,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc4::IfcLibrarySelect* RelatingLibrary() const; @@ -23403,7 +23403,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. ::Ifc4x3_rc4::IfcMaterialSelect* RelatingMaterial() const; @@ -23415,7 +23415,7 @@ public: typedef aggregate_of< IfcRelAssociatesMaterial > list; }; -class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: ::Ifc4x3_rc4::IfcProfileDef* RelatingProfileDef() const; void setRelatingProfileDef(::Ifc4x3_rc4::IfcProfileDef* v); @@ -23428,7 +23428,7 @@ public: /// 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. /// /// HISTORY: New entity in IFC Release 2x. -class IFC_PARSE_API IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23458,7 +23458,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// 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). ::Ifc4x3_rc4::IfcConnectionGeometry* ConnectionGeometry() const; @@ -23505,7 +23505,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23550,7 +23550,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc4::IfcPort* RelatingPort() const; @@ -23579,7 +23579,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc4::IfcPort* RelatingPort() const; @@ -23599,7 +23599,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -23637,7 +23637,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc4::IfcStructuralMember* RelatingStructuralMember() const; @@ -23680,7 +23680,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API 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). ::Ifc4x3_rc4::IfcConnectionGeometry* ConnectionConstraint() const; @@ -23714,7 +23714,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr RealizingElements() const; @@ -23788,7 +23788,7 @@ public: /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// /// Figure 39 — Relationship for spatial structure containment -class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23820,7 +23820,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -23862,7 +23862,7 @@ public: /// /// HISTORY New Entity in Release /// IFC 2x Edition 3. -class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -23889,7 +23889,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc4::IfcContext* RelatingContext() const; @@ -23933,7 +23933,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// 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 IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23968,7 +23968,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IFC_PARSE_API IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -23991,7 +23991,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr RelatedObjects() const; @@ -24020,7 +24020,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; @@ -24046,7 +24046,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -24129,7 +24129,7 @@ public: /// -ExtendToStructure = FALSE /// -ExtendToStructure = TRUE /// FALSE -class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v); @@ -24151,7 +24151,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc4::IfcOpeningElement* RelatingOpeningElement() const; @@ -24174,7 +24174,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -24235,7 +24235,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcInterferenceSelect* RelatingElement() const; @@ -24285,7 +24285,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { 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. /// @@ -24304,7 +24304,7 @@ public: typedef aggregate_of< IfcRelNests > list; }; -class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { +class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: ::Ifc4x3_rc4::IfcPositioningElement* RelatingPositioningElement() const; void setRelatingPositioningElement(::Ifc4x3_rc4::IfcPositioningElement* v); @@ -24348,7 +24348,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc4::IfcElement* RelatingElement() const; @@ -24411,7 +24411,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -24482,7 +24482,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. ::Ifc4x3_rc4::IfcProcess* RelatingProcess() const; @@ -24536,7 +24536,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownanomaly, as the /// relationship is not restricted to buildings anymore. -class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. ::Ifc4x3_rc4::IfcSystem* RelatingSystem() const; @@ -24716,7 +24716,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc4::IfcSpaceBoundarySelect* RelatingSpace() const; @@ -24792,7 +24792,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; @@ -24836,7 +24836,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; @@ -24855,7 +24855,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: ::Ifc4x3_rc4::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v); @@ -24890,7 +24890,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -24913,7 +24913,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IFC_PARSE_API IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject, public IfcResourceSelect { public: /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -25009,7 +25009,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. ::Ifc4x3_rc4::IfcAxis1Placement* Axis() const; @@ -25081,7 +25081,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: ::Ifc4x3_rc4::IfcProfileDef* EndSweptArea() const; void setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v); @@ -25156,7 +25156,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -25251,7 +25251,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -25266,7 +25266,7 @@ public: typedef aggregate_of< IfcRightCircularCylinder > list; }; -class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x3_rc4::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); @@ -25279,7 +25279,7 @@ public: typedef aggregate_of< IfcSectionedSolid > list; }; -class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { +class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr CrossSectionPositions() const; void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v); @@ -25292,7 +25292,7 @@ public: typedef aggregate_of< IfcSectionedSolidHorizontal > list; }; -class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { +class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: ::Ifc4x3_rc4::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); @@ -25353,7 +25353,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// 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. /// @@ -25439,7 +25439,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct, public IfcInterferenceSelect { public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -25486,7 +25486,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// 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. boost::optional< std::string > ElementType() const; @@ -25571,7 +25571,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// 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. /// @@ -25619,7 +25619,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -25676,7 +25676,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; @@ -25717,7 +25717,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -25780,7 +25780,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -25792,7 +25792,7 @@ public: typedef aggregate_of< IfcSphere > list; }; -class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: double Radius() const; void setRadius(double v); @@ -25803,7 +25803,7 @@ public: typedef aggregate_of< IfcSphericalSurface > list; }; -class IFC_PARSE_API IfcSpiral : public IfcCurve { +class IFC_PARSE_API IfcSpiral : public IfcCurve { public: ::Ifc4x3_rc4::IfcAxis2Placement* Position() const; void setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v); @@ -25906,7 +25906,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -26026,7 +26026,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct, public IfcStructuralActivityAssignmentSelect { public: aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; @@ -26039,7 +26039,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; @@ -26068,7 +26068,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26096,7 +26096,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -26128,7 +26128,7 @@ public: /// Topology Use Definitions: /// /// 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 IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -26158,7 +26158,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; @@ -26180,7 +26180,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value PredefinedType() const; @@ -26192,7 +26192,7 @@ public: typedef aggregate_of< IfcSubContractResourceType > list; }; -class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { +class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve, public IfcCurveOnSurface { public: ::Ifc4x3_rc4::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x3_rc4::IfcCurve* v); @@ -26268,7 +26268,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { +class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: /// The surface containing the Directrix. ::Ifc4x3_rc4::IfcSurface* ReferenceSurface() const; @@ -26292,7 +26292,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. ::Ifc4x3_rc4::IfcDirection* ExtrudedDirection() const; @@ -26323,7 +26323,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc4::IfcAxis1Placement* AxisPosition() const; @@ -26364,7 +26364,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -26619,7 +26619,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IFC_PARSE_API IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Current status of the task. /// @@ -26706,7 +26706,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -26722,7 +26722,7 @@ public: typedef aggregate_of< IfcTaskType > list; }; -class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem, public IfcBooleanOperand { public: ::Ifc4x3_rc4::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x3_rc4::IfcCartesianPointList3D* v); @@ -26735,7 +26735,7 @@ public: typedef aggregate_of< IfcTessellatedFaceSet > list; }; -class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { +class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: double CubicTerm() const; void setCubicTerm(double v); @@ -26752,7 +26752,7 @@ public: typedef aggregate_of< IfcThirdOrderPolynomialSpiral > list; }; -class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: double MajorRadius() const; void setMajorRadius(double v); @@ -26827,7 +26827,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IFC_PARSE_API IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcTransportElementTypeSelect* PredefinedType() const; @@ -26839,7 +26839,7 @@ public: typedef aggregate_of< IfcTransportElementType > list; }; -class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: boost::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(boost::optional< std::vector< std::vector< double > > > v); @@ -26856,7 +26856,7 @@ public: typedef aggregate_of< IfcTriangulatedFaceSet > list; }; -class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { +class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: std::vector< int > /*[1:?]*/ Flags() const; void setFlags(std::vector< int > /*[1:?]*/ v); @@ -26964,7 +26964,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Depth of the window lining (dimension measured perpendicular to window elevation plane). boost::optional< double > LiningDepth() const; @@ -27061,7 +27061,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -27101,7 +27101,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IFC_PARSE_API IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. ::Ifc4x3_rc4::IfcActorSelect* TheActor() const; @@ -27146,7 +27146,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27175,7 +27175,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Voids() const; void setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v); @@ -27358,7 +27358,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IFC_PARSE_API IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v); @@ -27438,7 +27438,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -27474,7 +27474,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -27594,7 +27594,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27618,7 +27618,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27636,7 +27636,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve, public IfcCurveOrEdgeCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27821,7 +27821,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// 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. boost::optional< double > Elevation() const; @@ -27833,7 +27833,7 @@ public: typedef aggregate_of< IfcBuildingStorey > list; }; -class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { +class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27866,7 +27866,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value PredefinedType() const; @@ -27895,7 +27895,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -27907,7 +27907,7 @@ public: typedef aggregate_of< IfcCircleHollowProfileDef > list; }; -class IFC_PARSE_API IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -27916,7 +27916,7 @@ public: typedef aggregate_of< IfcCivilElementType > list; }; -class IFC_PARSE_API IfcClothoid : public IfcSpiral { +class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: double ClothoidConstant() const; void setClothoidConstant(double v); @@ -28024,7 +28024,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc4::IfcColumnTypeEnum::Value PredefinedType() const; @@ -28043,7 +28043,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: boost::optional< std::string > UsageName() const; void setUsageName(boost::optional< std::string > v); @@ -28124,7 +28124,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr Segments() const; @@ -28149,7 +28149,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve, public IfcCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28162,7 +28162,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IFC_PARSE_API IfcConic : public IfcCurve { +class IFC_PARSE_API 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." ::Ifc4x3_rc4::IfcAxis2Placement* Position() const; @@ -28186,7 +28186,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; @@ -28210,7 +28210,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; @@ -28234,7 +28234,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; @@ -28317,7 +28317,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IFC_PARSE_API IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: ::Ifc4x3_rc4::IfcResourceTime* Usage() const; void setUsage(::Ifc4x3_rc4::IfcResourceTime* v); @@ -28341,7 +28341,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IFC_PARSE_API IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -28357,7 +28357,7 @@ public: typedef aggregate_of< IfcControl > list; }; -class IFC_PARSE_API IfcCosine : public IfcSpiral { +class IFC_PARSE_API IfcCosine : public IfcSpiral { public: double CosineTerm() const; void setCosineTerm(double v); @@ -28405,7 +28405,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IFC_PARSE_API IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// 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. /// @@ -28455,7 +28455,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IFC_PARSE_API IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// 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. /// @@ -28488,7 +28488,7 @@ public: typedef aggregate_of< IfcCostSchedule > list; }; -class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcCourseTypeEnum::Value v); @@ -28577,7 +28577,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value PredefinedType() const; @@ -28598,7 +28598,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Defines types of crew resources. /// IFC2x4 New attribute @@ -28631,7 +28631,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value PredefinedType() const; @@ -28696,7 +28696,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -28708,7 +28708,7 @@ public: typedef aggregate_of< IfcCylindricalSurface > list; }; -class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28717,7 +28717,7 @@ public: typedef aggregate_of< IfcDeepFoundationType > list; }; -class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { +class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28753,7 +28753,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28826,7 +28826,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -28929,7 +28929,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// 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). boost::optional< double > LiningDepth() const; @@ -29027,7 +29027,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Depth of the door panel, measured perpendicular to the plane of the door leaf. boost::optional< double > PanelDepth() const; @@ -29180,7 +29180,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc4::IfcDoorTypeEnum::Value PredefinedType() const; @@ -29270,7 +29270,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29291,7 +29291,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29352,7 +29352,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IFC_PARSE_API IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct, public IfcInterferenceSelect, public IfcStructuralActivityAssignmentSelect { public: /// 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. boost::optional< std::string > Tag() const; @@ -29469,7 +29469,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IFC_PARSE_API IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// A designation of where the assembly is intended to take place defined by an Enum. boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -29507,7 +29507,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORY New entity in /// Release IFC2x Edition 4. -class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value PredefinedType() const; @@ -29595,7 +29595,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IFC_PARSE_API IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29612,7 +29612,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IFC_PARSE_API IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29647,7 +29647,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IFC_PARSE_API IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -29684,7 +29684,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29718,7 +29718,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc4::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcEngineTypeEnum::Value v); @@ -29754,7 +29754,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType 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 IfcEvaporativeCooler for standard port definitions. -class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; @@ -29791,7 +29791,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType 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 IfcEvaporator for standard port definitions. -class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value PredefinedType() const; @@ -29879,7 +29879,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IFC_PARSE_API IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -29908,7 +29908,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29940,7 +29940,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29972,7 +29972,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Voids() const; @@ -29984,7 +29984,7 @@ public: typedef aggregate_of< IfcFacetedBrepWithVoids > list; }; -class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -29993,7 +29993,7 @@ public: typedef aggregate_of< IfcFacility > list; }; -class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: ::Ifc4x3_rc4::IfcFacilityPartTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcFacilityPartTypeSelect* v); @@ -30013,7 +30013,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IFC_PARSE_API IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Subtype of fastener boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > PredefinedType() const; @@ -30047,7 +30047,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value PredefinedType() const; @@ -30152,7 +30152,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IFC_PARSE_API IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30215,7 +30215,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; @@ -30274,7 +30274,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; @@ -30305,7 +30305,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30336,7 +30336,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30376,7 +30376,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType 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 IfcFlowMeter for standard port definitions. -class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value PredefinedType() const; @@ -30409,7 +30409,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30448,7 +30448,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30463,7 +30463,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30478,7 +30478,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30494,7 +30494,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30511,7 +30511,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: /// Subtype of footing. ::Ifc4x3_rc4::IfcFootingTypeEnum::Value PredefinedType() const; @@ -30626,7 +30626,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IFC_PARSE_API IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30665,7 +30665,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v); @@ -30815,7 +30815,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :'MappedRepresentation' -class IFC_PARSE_API IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > PredefinedType() const; @@ -30827,7 +30827,7 @@ public: typedef aggregate_of< IfcGeographicElement > list; }; -class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { +class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30836,7 +30836,7 @@ public: typedef aggregate_of< IfcGeotechnicalElement > list; }; -class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -30845,7 +30845,7 @@ public: typedef aggregate_of< IfcGeotechnicalStratum > list; }; -class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { +class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: ::Ifc4x3_rc4::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v); @@ -30887,7 +30887,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IFC_PARSE_API IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject, public IfcSpatialReferenceSelect { public: aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; @@ -30925,7 +30925,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType 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 IfcHeatExchanger for standard port definitions. -class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value PredefinedType() const; @@ -30962,7 +30962,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType 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 IfcHumidifier for standard port definitions. -class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value PredefinedType() const; @@ -30974,7 +30974,7 @@ public: typedef aggregate_of< IfcHumidifierType > list; }; -class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { +class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v); @@ -30985,7 +30985,7 @@ public: typedef aggregate_of< IfcImpactProtectionDevice > list; }; -class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { +class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v); @@ -30996,7 +30996,7 @@ public: typedef aggregate_of< IfcImpactProtectionDeviceType > list; }; -class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc4::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v); @@ -31043,7 +31043,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v); @@ -31054,7 +31054,7 @@ public: typedef aggregate_of< IfcInterceptorType > list; }; -class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31073,7 +31073,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IFC_PARSE_API IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// A list of the types of inventories from which that required may be selected. /// @@ -31130,7 +31130,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType 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 IfcJunctionBox for standard port definitions. -class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value PredefinedType() const; @@ -31142,7 +31142,7 @@ public: typedef aggregate_of< IfcJunctionBoxType > list; }; -class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { +class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: bool Mountable() const; void setMountable(bool v); @@ -31176,7 +31176,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Defines types of labor resources. /// IFC2x4 New attribute @@ -31217,7 +31217,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType 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 IfcLamp for standard port definitions. -class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc4::IfcLampTypeEnum::Value PredefinedType() const; @@ -31259,7 +31259,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType 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 IfcLightFixture for standard port definitions. -class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value PredefinedType() const; @@ -31271,7 +31271,7 @@ public: typedef aggregate_of< IfcLightFixtureType > list; }; -class IFC_PARSE_API IfcLinearElement : public IfcProduct { +class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31280,7 +31280,7 @@ public: typedef aggregate_of< IfcLinearElement > list; }; -class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v); @@ -31291,7 +31291,7 @@ public: typedef aggregate_of< IfcLiquidTerminalType > list; }; -class IFC_PARSE_API IfcMarineFacility : public IfcFacility { +class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v); @@ -31330,7 +31330,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -31380,7 +31380,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -31423,7 +31423,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v); @@ -31534,7 +31534,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc4::IfcMemberTypeEnum::Value PredefinedType() const; @@ -31546,7 +31546,7 @@ public: typedef aggregate_of< IfcMemberType > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v); @@ -31557,7 +31557,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsApplianceType > list; }; -class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v); @@ -31594,7 +31594,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType 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 IfcMotorConnection for standard port definitions. -class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value PredefinedType() const; @@ -31606,7 +31606,7 @@ public: typedef aggregate_of< IfcMotorConnectionType > list; }; -class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v); @@ -31623,7 +31623,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IFC_PARSE_API IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -31838,7 +31838,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -31945,7 +31945,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -31982,7 +31982,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType 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 IfcOutlet for standard port definitions. -class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc4::IfcOutletTypeEnum::Value PredefinedType() const; @@ -31994,7 +31994,7 @@ public: typedef aggregate_of< IfcOutletType > list; }; -class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcPavementTypeEnum::Value v); @@ -32009,7 +32009,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -32056,7 +32056,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -32116,7 +32116,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Identifies the predefined types of permit that can be granted. /// @@ -32146,7 +32146,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: /// Subtype of pile. ::Ifc4x3_rc4::IfcPileTypeEnum::Value PredefinedType() const; @@ -32186,7 +32186,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType 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 IfcPipeFitting for standard port definitions. -class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value PredefinedType() const; @@ -32230,7 +32230,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType 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 IfcPipeSegment for standard port definitions. -class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value PredefinedType() const; @@ -32242,7 +32242,7 @@ public: typedef aggregate_of< IfcPipeSegmentType > list; }; -class IFC_PARSE_API IfcPlant : public IfcGeographicElement { +class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -32327,7 +32327,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc4::IfcPlateTypeEnum::Value PredefinedType() const; @@ -32339,7 +32339,7 @@ public: typedef aggregate_of< IfcPlateType > list; }; -class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: boost::optional< bool > Closed() const; void setClosed(boost::optional< bool > v); @@ -32367,7 +32367,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Points() const; @@ -32431,7 +32431,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IFC_PARSE_API IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort @@ -32443,7 +32443,7 @@ public: typedef aggregate_of< IfcPort > list; }; -class IFC_PARSE_API IfcPositioningElement : public IfcProduct { +class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements aggregate_of< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement @@ -32557,7 +32557,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IFC_PARSE_API IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -32612,7 +32612,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// 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. /// @@ -32746,7 +32746,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// 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. /// @@ -32794,7 +32794,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType 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 IfcProtectiveDevice for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; @@ -32833,7 +32833,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType 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 IfcPump for standard port definitions. -class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. ::Ifc4x3_rc4::IfcPumpTypeEnum::Value PredefinedType() const; @@ -32845,7 +32845,7 @@ public: typedef aggregate_of< IfcPumpType > list; }; -class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcRailTypeEnum::Value v); @@ -32875,7 +32875,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc4::IfcRailingTypeEnum::Value PredefinedType() const; @@ -32887,7 +32887,7 @@ public: typedef aggregate_of< IfcRailingType > list; }; -class IFC_PARSE_API IfcRailway : public IfcFacility { +class IFC_PARSE_API IfcRailway : public IfcFacility { public: boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v); @@ -32917,7 +32917,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value PredefinedType() const; @@ -32961,7 +32961,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc4::IfcRampTypeEnum::Value PredefinedType() const; @@ -32985,7 +32985,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -32997,7 +32997,7 @@ public: typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; -class IFC_PARSE_API IfcReferent : public IfcPositioningElement { +class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v); @@ -33017,7 +33017,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: boost::optional< std::string > SteelGrade() const; void setSteelGrade(boost::optional< std::string > v); @@ -33030,7 +33030,7 @@ public: /// 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. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33062,7 +33062,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: boost::optional< double > MeshLength() const; void setMeshLength(boost::optional< double > v); @@ -33100,7 +33100,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -33140,7 +33140,7 @@ public: typedef aggregate_of< IfcReinforcingMeshType > list; }; -class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { public: ::Ifc4x3_rc4::IfcElement* RelatingElement() const; void setRelatingElement(::Ifc4x3_rc4::IfcElement* v); @@ -33174,7 +33174,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { 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. /// @@ -33193,7 +33193,7 @@ public: typedef aggregate_of< IfcRelAggregates > list; }; -class IFC_PARSE_API IfcRoad : public IfcFacility { +class IFC_PARSE_API IfcRoad : public IfcFacility { public: boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v); @@ -33235,7 +33235,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc4::IfcRoofTypeEnum::Value PredefinedType() const; @@ -33283,7 +33283,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType 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 IfcSanitaryTerminal for standard port definitions. -class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; @@ -33295,7 +33295,7 @@ public: typedef aggregate_of< IfcSanitaryTerminalType > list; }; -class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { +class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -33304,7 +33304,7 @@ public: typedef aggregate_of< IfcSeamCurve > list; }; -class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { +class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: double QuadraticTerm() const; void setQuadraticTerm(double v); @@ -33319,7 +33319,7 @@ public: typedef aggregate_of< IfcSecondOrderPolynomialSpiral > list; }; -class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { +class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: ::Ifc4x3_rc4::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v); @@ -33332,7 +33332,7 @@ public: typedef aggregate_of< IfcSegmentedReferenceCurve > list; }; -class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { +class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: double SepticTerm() const; void setSepticTerm(double v); @@ -33377,7 +33377,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value PredefinedType() const; @@ -33389,7 +33389,7 @@ public: typedef aggregate_of< IfcShadingDeviceType > list; }; -class IFC_PARSE_API IfcSign : public IfcElementComponent { +class IFC_PARSE_API IfcSign : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v); @@ -33400,7 +33400,7 @@ public: typedef aggregate_of< IfcSign > list; }; -class IFC_PARSE_API IfcSignType : public IfcElementComponentType { +class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: ::Ifc4x3_rc4::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcSignTypeEnum::Value v); @@ -33411,7 +33411,7 @@ public: typedef aggregate_of< IfcSignType > list; }; -class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc4::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcSignalTypeEnum::Value v); @@ -33422,7 +33422,7 @@ public: typedef aggregate_of< IfcSignalType > list; }; -class IFC_PARSE_API IfcSine : public IfcSpiral { +class IFC_PARSE_API IfcSine : public IfcSpiral { public: double SineTerm() const; void setSineTerm(double v); @@ -33625,7 +33625,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// 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. @@ -33728,7 +33728,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc4::IfcSlabTypeEnum::Value PredefinedType() const; @@ -33765,7 +33765,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v); @@ -33776,7 +33776,7 @@ public: typedef aggregate_of< IfcSolarDeviceType > list; }; -class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34034,7 +34034,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -34084,7 +34084,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType 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 IfcSpaceHeater for standard port definitions. -class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; @@ -34176,7 +34176,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -34215,7 +34215,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType 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 IfcStackTerminal for standard port definitions. -class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value PredefinedType() const; @@ -34246,7 +34246,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value PredefinedType() const; @@ -34290,7 +34290,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { +class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc4::IfcStairTypeEnum::Value PredefinedType() const; @@ -34320,7 +34320,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API 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. boost::optional< bool > DestabilizingLoad() const; @@ -34334,7 +34334,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// 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. ::Ifc4x3_rc4::IfcBoundaryCondition* AppliedCondition() const; @@ -34402,7 +34402,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34433,7 +34433,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { 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. /// @@ -34483,7 +34483,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -34519,7 +34519,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34577,7 +34577,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; @@ -34595,7 +34595,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34636,7 +34636,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -34706,7 +34706,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34727,7 +34727,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// 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. ::Ifc4x3_rc4::IfcAxis2Placement3D* ConditionCoordinateSystem() const; @@ -34781,7 +34781,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34793,7 +34793,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -34863,7 +34863,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// 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. boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -34889,7 +34889,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -34921,7 +34921,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -34965,7 +34965,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Indicates the kind of surface feature. boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -35017,7 +35017,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType 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 IfcSwitchingDevice for standard port definitions. -class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; @@ -35045,7 +35045,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IFC_PARSE_API IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements @@ -35079,7 +35079,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v); @@ -35121,7 +35121,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType 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 IfcTank for standard port definitions. -class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. ::Ifc4x3_rc4::IfcTankTypeEnum::Value PredefinedType() const; @@ -35133,7 +35133,7 @@ public: typedef aggregate_of< IfcTankType > list; }; -class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v); @@ -35158,7 +35158,7 @@ public: typedef aggregate_of< IfcTendon > list; }; -class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v); @@ -35169,7 +35169,7 @@ public: typedef aggregate_of< IfcTendonAnchor > list; }; -class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v); @@ -35180,7 +35180,7 @@ public: typedef aggregate_of< IfcTendonAnchorType > list; }; -class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v); @@ -35191,7 +35191,7 @@ public: typedef aggregate_of< IfcTendonConduit > list; }; -class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v); @@ -35202,7 +35202,7 @@ public: typedef aggregate_of< IfcTendonConduitType > list; }; -class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x3_rc4::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v); @@ -35219,7 +35219,7 @@ public: typedef aggregate_of< IfcTendonType > list; }; -class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { +class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v); @@ -35256,7 +35256,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType 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 IfcTransformer for standard port definitions. -class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value PredefinedType() const; @@ -35383,7 +35383,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IFC_PARSE_API IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -35474,7 +35474,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API 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. ::Ifc4x3_rc4::IfcCurve* BasisCurve() const; @@ -35526,7 +35526,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType 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 IfcTubeBundle for standard port definitions. -class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value PredefinedType() const; @@ -35565,7 +35565,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType 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 IfcUnitaryEquipment for standard port definitions. -class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; @@ -35614,7 +35614,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType 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 IfcValve for standard port definitions. -class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. ::Ifc4x3_rc4::IfcValveTypeEnum::Value PredefinedType() const; @@ -35626,7 +35626,7 @@ public: typedef aggregate_of< IfcValveType > list; }; -class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v); @@ -35637,7 +35637,7 @@ public: typedef aggregate_of< IfcVibrationDamper > list; }; -class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v); @@ -35681,7 +35681,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v); @@ -35713,7 +35713,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; @@ -35810,7 +35810,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IFC_PARSE_API IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35819,7 +35819,7 @@ public: typedef aggregate_of< IfcVirtualElement > list; }; -class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -35859,7 +35859,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Qualifies the feature regarding its shape and configuration relative to the voided element. boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; @@ -35954,7 +35954,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc4::IfcWallTypeEnum::Value PredefinedType() const; @@ -36001,7 +36001,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType 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 IfcWasteTerminal for standard port definitions. -class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value PredefinedType() const; @@ -36013,7 +36013,7 @@ public: typedef aggregate_of< IfcWasteTerminalType > list; }; -class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { +class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36142,7 +36142,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc4::IfcWindowTypeEnum::Value PredefinedType() const; @@ -36173,7 +36173,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IFC_PARSE_API IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -36241,7 +36241,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IFC_PARSE_API IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -36295,7 +36295,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -36347,7 +36347,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -36444,7 +36444,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IFC_PARSE_API IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -36497,7 +36497,7 @@ public: /// /// Approval Use Definition /// 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 IFC_PARSE_API IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Identifies the predefined type of sources through which a request can be made. /// @@ -36550,7 +36550,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType 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 IfcAirTerminalBox for standard port definitions. -class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; @@ -36587,7 +36587,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v); @@ -36623,7 +36623,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType 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 IfcAirToAirHeatRecovery for standard port definitions. -class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; @@ -36635,7 +36635,7 @@ public: typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; -class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: double RailHeadDistance() const; void setRailHeadDistance(double v); @@ -36646,7 +36646,7 @@ public: typedef aggregate_of< IfcAlignmentCant > list; }; -class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36655,7 +36655,7 @@ public: typedef aggregate_of< IfcAlignmentHorizontal > list; }; -class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: ::Ifc4x3_rc4::IfcAlignmentParameterSegment* DesignParameters() const; void setDesignParameters(::Ifc4x3_rc4::IfcAlignmentParameterSegment* v); @@ -36666,7 +36666,7 @@ public: typedef aggregate_of< IfcAlignmentSegment > list; }; -class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { +class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -36698,7 +36698,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IFC_PARSE_API IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// 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. @@ -36780,7 +36780,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType 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 IfcAudioVisualAppliance for standard port definitions. -class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; @@ -36840,7 +36840,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -36880,7 +36880,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -36995,7 +36995,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc4::IfcBeamTypeEnum::Value PredefinedType() const; @@ -37007,7 +37007,7 @@ public: typedef aggregate_of< IfcBeamType > list; }; -class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: ::Ifc4x3_rc4::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcBearingTypeEnum::Value v); @@ -37046,7 +37046,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType 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 IfcBoiler for standard port definitions. -class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value PredefinedType() const; @@ -37064,7 +37064,7 @@ public: /// NOTE Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37073,7 +37073,7 @@ public: typedef aggregate_of< IfcBoundaryCurve > list; }; -class IFC_PARSE_API IfcBridge : public IfcFacility { +class IFC_PARSE_API IfcBridge : public IfcFacility { public: boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v); @@ -37257,7 +37257,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IFC_PARSE_API IfcBuilding : public IfcFacility { +class IFC_PARSE_API IfcBuilding : public IfcFacility { public: /// 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. boost::optional< double > ElevationOfRefHeight() const; @@ -37291,7 +37291,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Subtype of building element part boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; @@ -37306,7 +37306,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; @@ -37351,7 +37351,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 3. -class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { +class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { 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. ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; @@ -37398,7 +37398,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Predefined types of distribution systems. boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -37412,7 +37412,7 @@ public: typedef aggregate_of< IfcBuildingSystem > list; }; -class IFC_PARSE_API IfcBuiltElement : public IfcElement { +class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37421,7 +37421,7 @@ public: typedef aggregate_of< IfcBuiltElement > list; }; -class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { +class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v); @@ -37460,7 +37460,7 @@ public: /// /// Port Use Definition /// 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 IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v); @@ -37496,7 +37496,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType 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 IfcCableCarrierFitting for standard port definitions. -class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; @@ -37539,7 +37539,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType 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 IfcCableCarrierSegment for standard port definitions. -class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; @@ -37578,7 +37578,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType 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 IfcCableFitting for standard port definitions. -class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value PredefinedType() const; @@ -37630,7 +37630,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType 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 IfcCableSegment for standard port definitions. -class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value PredefinedType() const; @@ -37642,7 +37642,7 @@ public: typedef aggregate_of< IfcCableSegmentType > list; }; -class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { +class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v); @@ -37684,7 +37684,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType 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 IfcChiller for standard port definitions. -class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc4::IfcChillerTypeEnum::Value PredefinedType() const; @@ -37736,7 +37736,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IFC_PARSE_API IfcChimney : public IfcBuiltElement { +class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: /// 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. @@ -37775,7 +37775,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IFC_PARSE_API IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -37787,7 +37787,7 @@ public: typedef aggregate_of< IfcCircle > list; }; -class IFC_PARSE_API IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -37822,7 +37822,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType 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 IfcCoil for standard port definitions. -class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc4::IfcCoilTypeEnum::Value PredefinedType() const; @@ -38104,7 +38104,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcColumn : public IfcBuiltElement { +class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: /// 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. @@ -38363,7 +38363,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -38403,7 +38403,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType 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 IfcCommunicationsAppliance for standard port definitions. -class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; @@ -38441,7 +38441,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType 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 IfcCompressor for standard port definitions. -class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value PredefinedType() const; @@ -38479,7 +38479,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType 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 IfcCondenser for standard port definitions. -class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value PredefinedType() const; @@ -38512,7 +38512,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -38550,7 +38550,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -38577,7 +38577,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -38590,7 +38590,7 @@ public: typedef aggregate_of< IfcConstructionProductResource > list; }; -class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v); @@ -38629,7 +38629,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType 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 IfcCooledBeam for standard port definitions. -class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value PredefinedType() const; @@ -38673,7 +38673,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType 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 IfcCoolingTower for standard port definitions. -class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value PredefinedType() const; @@ -38685,7 +38685,7 @@ public: typedef aggregate_of< IfcCoolingTowerType > list; }; -class IFC_PARSE_API IfcCourse : public IfcBuiltElement { +class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v); @@ -38919,7 +38919,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IFC_PARSE_API IfcCovering : public IfcBuiltElement { +class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -39070,7 +39070,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: /// 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. @@ -39118,7 +39118,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType 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 IfcDamper for standard port definitions. -class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. ::Ifc4x3_rc4::IfcDamperTypeEnum::Value PredefinedType() const; @@ -39130,7 +39130,7 @@ public: typedef aggregate_of< IfcDamperType > list; }; -class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { +class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39311,7 +39311,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Subtype of discrete accessory boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; @@ -39510,7 +39510,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; @@ -39522,7 +39522,7 @@ public: typedef aggregate_of< IfcDiscreteAccessoryType > list; }; -class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v); @@ -39569,7 +39569,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; @@ -39634,7 +39634,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -39804,7 +39804,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IFC_PARSE_API IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; @@ -39881,7 +39881,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; @@ -39972,7 +39972,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IFC_PARSE_API IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -40028,7 +40028,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40400,7 +40400,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IFC_PARSE_API IfcDoor : public IfcBuiltElement { +class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -40537,7 +40537,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40574,7 +40574,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType 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 IfcDuctFitting for standard port definitions. -class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value PredefinedType() const; @@ -40614,7 +40614,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType 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 IfcDuctSegment for standard port definitions. -class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value PredefinedType() const; @@ -40651,7 +40651,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType 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 IfcDuctSilencer for standard port definitions. -class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value PredefinedType() const; @@ -40663,7 +40663,7 @@ public: typedef aggregate_of< IfcDuctSilencerType > list; }; -class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v); @@ -40674,7 +40674,7 @@ public: typedef aggregate_of< IfcEarthworksCut > list; }; -class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { +class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40683,7 +40683,7 @@ public: typedef aggregate_of< IfcEarthworksElement > list; }; -class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { +class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v); @@ -40722,7 +40722,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType 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 IfcElectricAppliance for standard port definitions. -class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value PredefinedType() const; @@ -40760,7 +40760,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType 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 IfcElectricDistributionBoard for standard port definitions. -class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; @@ -40798,7 +40798,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType 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 IfcElectricFlowStorageDevice for standard port definitions. -class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; @@ -40810,7 +40810,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDeviceType > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v); @@ -40852,7 +40852,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType 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 IfcElectricGenerator for standard port definitions. -class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; @@ -40890,7 +40890,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType 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 IfcElectricMotor for standard port definitions. -class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value PredefinedType() const; @@ -40928,7 +40928,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType 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 IfcElectricTimeControl for standard port definitions. -class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; @@ -40948,7 +40948,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -40997,7 +40997,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v); @@ -41051,7 +41051,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v); @@ -41125,7 +41125,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v); @@ -41150,7 +41150,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement, public IfcSpaceBoundarySelect { public: /// 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. boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -41190,7 +41190,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType 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 IfcFan for standard port definitions. -class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. ::Ifc4x3_rc4::IfcFanTypeEnum::Value PredefinedType() const; @@ -41230,7 +41230,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType 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 IfcFilter for standard port definitions. -class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. ::Ifc4x3_rc4::IfcFilterTypeEnum::Value PredefinedType() const; @@ -41274,7 +41274,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType 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 IfcFireSuppressionTerminal for standard port definitions. -class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; @@ -41294,7 +41294,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41307,7 +41307,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41345,7 +41345,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType 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 IfcFlowInstrument for standard port definitions. -class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; @@ -41436,7 +41436,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v); @@ -41451,7 +41451,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41482,7 +41482,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41499,7 +41499,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41518,7 +41518,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41531,7 +41531,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41561,7 +41561,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IFC_PARSE_API IfcFooting : public IfcBuiltElement { +class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: /// The generic type of the footing. /// @@ -41575,7 +41575,7 @@ public: typedef aggregate_of< IfcFooting > list; }; -class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { +class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -41679,7 +41679,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IFC_PARSE_API IfcGrid : public IfcPositioningElement { +class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr UAxes() const; @@ -41748,7 +41748,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v); @@ -41801,7 +41801,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v); @@ -41868,7 +41868,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v); @@ -41944,7 +41944,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v); @@ -41955,7 +41955,7 @@ public: typedef aggregate_of< IfcJunctionBox > list; }; -class IFC_PARSE_API IfcKerb : public IfcBuiltElement { +class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: bool Mountable() const; void setMountable(bool v); @@ -42012,7 +42012,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v); @@ -42088,7 +42088,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v); @@ -42099,7 +42099,7 @@ public: typedef aggregate_of< IfcLightFixture > list; }; -class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { +class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42108,7 +42108,7 @@ public: typedef aggregate_of< IfcLinearPositioningElement > list; }; -class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v); @@ -42162,7 +42162,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v); @@ -42422,7 +42422,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcMember : public IfcBuiltElement { +class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: /// 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. @@ -42675,7 +42675,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:not applicable -class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42684,7 +42684,7 @@ public: typedef aggregate_of< IfcMemberStandardCase > list; }; -class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v); @@ -42695,7 +42695,7 @@ public: typedef aggregate_of< IfcMobileTelecommunicationsAppliance > list; }; -class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v); @@ -42746,7 +42746,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v); @@ -42757,7 +42757,7 @@ public: typedef aggregate_of< IfcMotorConnection > list; }; -class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { +class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v); @@ -42772,7 +42772,7 @@ public: /// NOTE Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -42846,7 +42846,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v); @@ -42857,7 +42857,7 @@ public: typedef aggregate_of< IfcOutlet > list; }; -class IFC_PARSE_API IfcPavement : public IfcBuiltElement { +class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v); @@ -42885,7 +42885,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IFC_PARSE_API IfcPile : public IfcDeepFoundation { +class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: /// The predefined generic type of the pile according to function. /// @@ -42988,7 +42988,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v); @@ -43058,7 +43058,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v); @@ -43296,7 +43296,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IFC_PARSE_API IfcPlate : public IfcBuiltElement { +class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: /// 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. @@ -43463,7 +43463,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -43547,7 +43547,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v); @@ -43597,7 +43597,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType 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 IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; @@ -43657,7 +43657,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v); @@ -43668,7 +43668,7 @@ public: typedef aggregate_of< IfcPump > list; }; -class IFC_PARSE_API IfcRail : public IfcBuiltElement { +class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v); @@ -43810,7 +43810,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IFC_PARSE_API IfcRailing : public IfcBuiltElement { +class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: /// 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. @@ -43956,7 +43956,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IFC_PARSE_API IfcRamp : public IfcBuiltElement { +class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -44159,7 +44159,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: /// 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. @@ -44209,7 +44209,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -44221,7 +44221,7 @@ public: typedef aggregate_of< IfcRationalBSplineCurveWithKnots > list; }; -class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { +class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v); @@ -44259,7 +44259,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: boost::optional< double > NominalDiameter() const; void setNominalDiameter(boost::optional< double > v); @@ -44294,7 +44294,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -44466,7 +44466,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IFC_PARSE_API IfcRoof : public IfcBuiltElement { +class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -44605,7 +44605,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v); @@ -44663,7 +44663,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType 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 IfcSensor for standard port definitions. -class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc4::IfcSensorTypeEnum::Value PredefinedType() const; @@ -44688,7 +44688,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: /// 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. @@ -44701,7 +44701,7 @@ public: typedef aggregate_of< IfcShadingDevice > list; }; -class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v); @@ -44971,7 +44971,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IFC_PARSE_API IfcSlab : public IfcBuiltElement { +class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: /// 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. @@ -45068,7 +45068,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45235,7 +45235,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45290,7 +45290,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v); @@ -45362,7 +45362,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v); @@ -45422,7 +45422,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v); @@ -45597,7 +45597,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IFC_PARSE_API IfcStair : public IfcBuiltElement { +class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -45777,7 +45777,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: boost::optional< int > NumberOfRisers() const; void setNumberOfRisers(boost::optional< int > v); @@ -45831,7 +45831,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -45870,7 +45870,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// 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. /// @@ -45892,7 +45892,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -45988,7 +45988,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v); @@ -46058,7 +46058,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v); @@ -46069,7 +46069,7 @@ public: typedef aggregate_of< IfcTank > list; }; -class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { +class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v); @@ -46121,7 +46121,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v); @@ -46178,7 +46178,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v); @@ -46214,7 +46214,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType 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 IfcUnitaryControlElement for standard port definitions. -class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; @@ -46297,7 +46297,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v); @@ -46493,7 +46493,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IFC_PARSE_API IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v); @@ -46745,7 +46745,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IFC_PARSE_API IfcWall : public IfcBuiltElement { +class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: /// 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. @@ -46857,7 +46857,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IFC_PARSE_API IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47067,7 +47067,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IFC_PARSE_API IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47179,7 +47179,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v); @@ -47547,7 +47547,7 @@ public: /// . /// /// Figure 144 — Window operations -class IFC_PARSE_API IfcWindow : public IfcBuiltElement { +class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -47694,7 +47694,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -47733,7 +47733,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType 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 IfcActuator for standard port definitions. -class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value PredefinedType() const; @@ -47801,7 +47801,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v); @@ -47853,7 +47853,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v); @@ -47908,7 +47908,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v); @@ -47944,7 +47944,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType 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 IfcAlarm for standard port definitions. -class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value PredefinedType() const; @@ -47956,7 +47956,7 @@ public: typedef aggregate_of< IfcAlarmType > list; }; -class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { +class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v); @@ -48144,7 +48144,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v); @@ -48391,7 +48391,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IFC_PARSE_API IfcBeam : public IfcBuiltElement { +class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: /// 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. @@ -48656,7 +48656,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48665,7 +48665,7 @@ public: typedef aggregate_of< IfcBeamStandardCase > list; }; -class IFC_PARSE_API IfcBearing : public IfcBuiltElement { +class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v); @@ -48744,7 +48744,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v); @@ -48755,7 +48755,7 @@ public: typedef aggregate_of< IfcBoiler > list; }; -class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -48953,7 +48953,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v); @@ -49004,7 +49004,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v); @@ -49075,7 +49075,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; @@ -49145,7 +49145,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; @@ -49230,7 +49230,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Identifies the predefined types of cable fitting from which the type required may be set. boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > PredefinedType() const; @@ -49328,7 +49328,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Identifies the predefined types of cable segment from which the type required may be set. boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > PredefinedType() const; @@ -49340,7 +49340,7 @@ public: typedef aggregate_of< IfcCableSegment > list; }; -class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { +class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v); @@ -49419,7 +49419,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v); @@ -49495,7 +49495,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v); @@ -49607,7 +49607,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v); @@ -49663,7 +49663,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v); @@ -49739,7 +49739,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v); @@ -49785,7 +49785,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType 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 IfcController for standard port definitions. -class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc4::IfcControllerTypeEnum::Value PredefinedType() const; @@ -49797,7 +49797,7 @@ public: typedef aggregate_of< IfcControllerType > list; }; -class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v); @@ -49856,7 +49856,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v); @@ -49923,7 +49923,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v); @@ -50004,7 +50004,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IFC_PARSE_API IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v); @@ -50015,7 +50015,7 @@ public: typedef aggregate_of< IfcDamper > list; }; -class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v); @@ -50056,7 +50056,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v); @@ -50067,7 +50067,7 @@ public: typedef aggregate_of< IfcDistributionChamberElement > list; }; -class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -50153,7 +50153,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; @@ -50237,7 +50237,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v); @@ -50296,7 +50296,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v); @@ -50348,7 +50348,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v); @@ -50456,7 +50456,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v); @@ -50523,7 +50523,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v); @@ -50574,7 +50574,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v); @@ -50585,7 +50585,7 @@ public: typedef aggregate_of< IfcElectricFlowStorageDevice > list; }; -class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v); @@ -50642,7 +50642,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v); @@ -50693,7 +50693,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v); @@ -50744,7 +50744,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v); @@ -50808,7 +50808,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v); @@ -50905,7 +50905,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v); @@ -50981,7 +50981,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v); @@ -51043,7 +51043,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v); @@ -51054,7 +51054,7 @@ public: typedef aggregate_of< IfcFlowInstrument > list; }; -class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51063,7 +51063,7 @@ public: typedef aggregate_of< IfcGeomodel > list; }; -class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { +class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); @@ -51123,7 +51123,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); @@ -51267,7 +51267,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v); @@ -51332,7 +51332,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v); @@ -51404,7 +51404,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v); @@ -51456,7 +51456,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v); @@ -51572,7 +51572,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IFC_PARSE_API IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v); diff --git a/src/ifcparse/IfcBaseClass.h b/src/ifcparse/IfcBaseClass.h index 8f5f8ed212..b27b6671b0 100644 --- a/src/ifcparse/IfcBaseClass.h +++ b/src/ifcparse/IfcBaseClass.h @@ -33,14 +33,46 @@ class aggregate_of_instance; namespace IfcUtil { - class IFC_PARSE_API IfcBaseClass { + class IFC_PARSE_API IfcBaseInterface { + protected: + static bool is_null(const IfcBaseInterface* not_this) { + return !not_this; + } + + public: + virtual const IfcEntityInstanceData& data() const = 0; + virtual IfcEntityInstanceData& data() = 0; + virtual const IfcParse::declaration& declaration() const = 0; + + template + T* as() { + // @todo: do not allow this to be null in the first place + if (is_null(this)) { + return static_cast(0); + } + return declaration().is(T::Class()) + ? dynamic_cast(this) + : static_cast(0); + } + + template + const T* as() const { + if (is_null(this)) { + return static_cast(0); + } + return declaration().is(T::Class()) + ? dynamic_cast(this) + : static_cast(0); + } + }; + + class IFC_PARSE_API IfcBaseClass : public virtual IfcBaseInterface { protected: IfcEntityInstanceData* data_; static bool is_null(const IfcBaseClass* not_this) { return !not_this; - } - + } public: IfcBaseClass() : data_(0) {} IfcBaseClass(IfcEntityInstanceData* d) : data_(d) {} @@ -51,27 +83,6 @@ namespace IfcUtil { void data(IfcEntityInstanceData* d); virtual const IfcParse::declaration& declaration() const = 0; - - template - T* as() { - // @todo: do not allow this to be null in the first place - if (is_null(this)) { - return static_cast(0); - } - return declaration().is(T::Class()) - ? static_cast(this) - : static_cast(0); - } - - template - const T* as() const { - if (is_null(this)) { - return static_cast(0); - } - return declaration().is(T::Class()) - ? static_cast(this) - : static_cast(0); - } }; class IFC_PARSE_API IfcLateBoundEntity : public IfcBaseClass { diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index 9d9500a91d..d00a67590f 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -395,11 +395,13 @@ void IfcHierarchyHelper::clipRepresentation(typename Schema::IfcRepresen typename Schema::IfcRepresentationItem::list::ptr items = rep->Items(); typename Schema::IfcRepresentationItem::list::ptr new_items (new typename Schema::IfcRepresentationItem::list); for (typename Schema::IfcRepresentationItem::list::it i = items->begin(); i != items->end(); ++i) { - typename Schema::IfcRepresentationItem* item = *i; - typename Schema::IfcBooleanClippingResult* clip = new typename Schema::IfcBooleanClippingResult( - Schema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE, item, half_space); - addEntity(clip); - new_items->push(clip); + auto item = dynamic_cast(*i); + if (item) { + typename Schema::IfcBooleanClippingResult* clip = new typename Schema::IfcBooleanClippingResult( + Schema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE, item, half_space); + addEntity(clip); + new_items->push(clip); + } } rep->setItems(new_items); } diff --git a/src/ifcparse/IfcLogger.cpp b/src/ifcparse/IfcLogger.cpp index 37c60a1ac9..053167c917 100644 --- a/src/ifcparse/IfcLogger.cpp +++ b/src/ifcparse/IfcLogger.cpp @@ -47,7 +47,7 @@ namespace { const std::array, 4> severity_strings::value = { L"Debug", L"Notice", L"Warning", L"Error" }; template - void plain_text_message(T& os, const boost::optional& current_product, Logger::Severity type, const std::string& message, const IfcUtil::IfcBaseClass* instance) { + void plain_text_message(T& os, const boost::optional& current_product, Logger::Severity type, const std::string& message, const IfcUtil::IfcBaseInterface* instance) { os << "[" << severity_strings::value[type] << "] "; if (current_product) { std::string global_id = *((IfcUtil::IfcBaseEntity*)*current_product)->get("GlobalId"); @@ -71,7 +71,7 @@ namespace { } template - void json_message(T& os, const boost::optional& current_product, Logger::Severity type, const std::string& message, const IfcUtil::IfcBaseClass* instance) { + void json_message(T& os, const boost::optional& current_product, Logger::Severity type, const std::string& message, const IfcUtil::IfcBaseInterface* instance) { boost::property_tree::basic_ptree, std::basic_string > pt; // @todo this is crazy @@ -117,7 +117,7 @@ void Logger::SetOutput(std::wostream* l1, std::wostream* l2) { } } -void Logger::Message(Logger::Severity type, const std::string& message, const IfcUtil::IfcBaseClass* instance) { +void Logger::Message(Logger::Severity type, const std::string& message, const IfcUtil::IfcBaseInterface* instance) { static std::mutex m; std::lock_guard lk(m); @@ -141,7 +141,7 @@ void Logger::Message(Logger::Severity type, const std::string& message, const If } } -void Logger::Message(Logger::Severity type, const std::exception& exception, const IfcUtil::IfcBaseClass* instance) { +void Logger::Message(Logger::Severity type, const std::exception& exception, const IfcUtil::IfcBaseInterface* instance) { Message(type, std::string(exception.what()), instance); } diff --git a/src/ifcparse/IfcLogger.h b/src/ifcparse/IfcLogger.h index 1d2a69ebd2..e76c2558c6 100644 --- a/src/ifcparse/IfcLogger.h +++ b/src/ifcparse/IfcLogger.h @@ -72,16 +72,16 @@ public: static Format OutputFormat(); /// Log a message to the output stream - static void Message(Severity type, const std::string& message, const IfcUtil::IfcBaseClass* instance = 0); - static void Message(Severity type, const std::exception& message, const IfcUtil::IfcBaseClass* instance = 0); + static void Message(Severity type, const std::string& message, const IfcUtil::IfcBaseInterface* instance = 0); + static void Message(Severity type, const std::exception& message, const IfcUtil::IfcBaseInterface* instance = 0); - static void Notice(const std::string& message, const IfcUtil::IfcBaseClass* instance = 0) { Message(LOG_NOTICE, message, instance); } - static void Warning(const std::string& message, const IfcUtil::IfcBaseClass* instance = 0) { Message(LOG_WARNING, message, instance); } - static void Error(const std::string& message, const IfcUtil::IfcBaseClass* instance = 0) { Message(LOG_ERROR, message, instance); } + static void Notice(const std::string& message, const IfcUtil::IfcBaseInterface* instance = 0) { Message(LOG_NOTICE, message, instance); } + static void Warning(const std::string& message, const IfcUtil::IfcBaseInterface* instance = 0) { Message(LOG_WARNING, message, instance); } + static void Error(const std::string& message, const IfcUtil::IfcBaseInterface* instance = 0) { Message(LOG_ERROR, message, instance); } - static void Notice(const std::exception& exception, const IfcUtil::IfcBaseClass* instance = 0) { Message(LOG_NOTICE, exception, instance); } - static void Warning(const std::exception& exception, const IfcUtil::IfcBaseClass* instance = 0) { Message(LOG_WARNING, exception, instance); } - static void Error(const std::exception& exception, const IfcUtil::IfcBaseClass* instance = 0) { Message(LOG_ERROR, exception, instance); } + static void Notice(const std::exception& exception, const IfcUtil::IfcBaseInterface* instance = 0) { Message(LOG_NOTICE, exception, instance); } + static void Warning(const std::exception& exception, const IfcUtil::IfcBaseInterface* instance = 0) { Message(LOG_WARNING, exception, instance); } + static void Error(const std::exception& exception, const IfcUtil::IfcBaseInterface* instance = 0) { Message(LOG_ERROR, exception, instance); } static void Status(const std::string& message, bool new_line=true); diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index f39eacfebd..746de40513 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -201,7 +201,7 @@ ptree* format_entity_instance(IfcUtil::IfcBaseEntity* instance, ptree& tree, boo return format_entity_instance(instance, child, tree, as_link); } -std::string qualify_unrooted_instance(IfcUtil::IfcBaseClass* inst) { +std::string qualify_unrooted_instance(IfcUtil::IfcBaseInterface* inst) { return inst->declaration().name() + "_" + boost::lexical_cast(inst->data().id()); }