extern void init_IteratorImplementation_Ifc2x3(IteratorFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4
template
extern void init_IteratorImplementation_Ifc4(IteratorFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x1
template
extern void init_IteratorImplementation_Ifc4x1(IteratorFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x2
template
extern void init_IteratorImplementation_Ifc4x2(IteratorFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
template
extern void init_IteratorImplementation_Ifc4x3_rc1(IteratorFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
template
extern void init_IteratorImplementation_Ifc4x3_rc2(IteratorFactoryImplementation*);
+#endif
template
IteratorFactoryImplementation::IteratorFactoryImplementation() {
+#ifdef HAS_SCHEMA_2x3
init_IteratorImplementation_Ifc2x3(this);
+#endif
+#ifdef HAS_SCHEMA_4
init_IteratorImplementation_Ifc4(this);
+#endif
+#ifdef HAS_SCHEMA_4x1
init_IteratorImplementation_Ifc4x1(this);
+#endif
+#ifdef HAS_SCHEMA_4x2
init_IteratorImplementation_Ifc4x2(this);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
init_IteratorImplementation_Ifc4x3_rc1(this);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
init_IteratorImplementation_Ifc4x3_rc2(this);
+#endif
}
template
diff --git a/src/ifcgeom_schema_agnostic/Kernel.cpp b/src/ifcgeom_schema_agnostic/Kernel.cpp
index 7d2bc30b4b..bf0cc32c51 100644
--- a/src/ifcgeom_schema_agnostic/Kernel.cpp
+++ b/src/ifcgeom_schema_agnostic/Kernel.cpp
@@ -48,20 +48,44 @@ IfcGeom::impl::KernelFactoryImplementation& IfcGeom::impl::kernel_implementation
return impl;
}
+#ifdef HAS_SCHEMA_2x3
extern void init_KernelImplementation_Ifc2x3(IfcGeom::impl::KernelFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4
extern void init_KernelImplementation_Ifc4(IfcGeom::impl::KernelFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x1
extern void init_KernelImplementation_Ifc4x1(IfcGeom::impl::KernelFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x2
extern void init_KernelImplementation_Ifc4x2(IfcGeom::impl::KernelFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
extern void init_KernelImplementation_Ifc4x3_rc1(IfcGeom::impl::KernelFactoryImplementation*);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
extern void init_KernelImplementation_Ifc4x3_rc2(IfcGeom::impl::KernelFactoryImplementation*);
+#endif
IfcGeom::impl::KernelFactoryImplementation::KernelFactoryImplementation() {
+#ifdef HAS_SCHEMA_2x3
init_KernelImplementation_Ifc2x3(this);
+#endif
+#ifdef HAS_SCHEMA_4
init_KernelImplementation_Ifc4(this);
+#endif
+#ifdef HAS_SCHEMA_4x1
init_KernelImplementation_Ifc4x1(this);
+#endif
+#ifdef HAS_SCHEMA_4x2
init_KernelImplementation_Ifc4x2(this);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
init_KernelImplementation_Ifc4x3_rc1(this);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
init_KernelImplementation_Ifc4x3_rc2(this);
+#endif
}
void IfcGeom::impl::KernelFactoryImplementation::bind(const std::string& schema_name, IfcGeom::impl::kernel_fn fn) {
@@ -132,6 +156,15 @@ IfcSchema::IfcObjectDefinition* get_decomposing_entity_impl(IfcSchema::IfcProduc
}
namespace {
+
+#ifdef HAS_SCHEMA_2x3
+ IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc2x3::IfcRelDecomposes* decompose) {
+ return decompose->RelatingObject();
+ }
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc2x3);
+#endif
+
+#ifdef HAS_SCHEMA_4
IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4::IfcRelDecomposes* decompose) {
Ifc4::IfcRelAggregates* aggr = decompose->as();
if (aggr != nullptr) {
@@ -139,7 +172,10 @@ namespace {
}
return nullptr;
}
-
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4);
+#endif
+
+#ifdef HAS_SCHEMA_4x1
IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x1::IfcRelDecomposes* decompose) {
Ifc4x1::IfcRelAggregates* aggr = decompose->as();
if (aggr != nullptr) {
@@ -147,7 +183,10 @@ namespace {
}
return nullptr;
}
-
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x1);
+#endif
+
+#ifdef HAS_SCHEMA_4x2
IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x2::IfcRelDecomposes* decompose) {
Ifc4x2::IfcRelAggregates* aggr = decompose->as();
if (aggr != nullptr) {
@@ -155,7 +194,10 @@ namespace {
}
return nullptr;
}
-
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x2);
+#endif
+
+#ifdef HAS_SCHEMA_4x3_rc1
IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x3_rc1::IfcRelDecomposes* decompose) {
Ifc4x3_rc1::IfcRelAggregates* aggr = decompose->as();
if (aggr != nullptr) {
@@ -163,7 +205,10 @@ namespace {
}
return nullptr;
}
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_rc1);
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x3_rc2::IfcRelDecomposes* decompose) {
Ifc4x3_rc2::IfcRelAggregates* aggr = decompose->as();
if (aggr != nullptr) {
@@ -171,37 +216,47 @@ namespace {
}
return nullptr;
}
-
- IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc2x3::IfcRelDecomposes* decompose) {
- return decompose->RelatingObject();
- }
-
- CREATE_GET_DECOMPOSING_ENTITY(Ifc2x3);
- CREATE_GET_DECOMPOSING_ENTITY(Ifc4);
- CREATE_GET_DECOMPOSING_ENTITY(Ifc4x1);
- CREATE_GET_DECOMPOSING_ENTITY(Ifc4x2);
- CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_rc1);
CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_rc2);
+#endif
+
}
IfcUtil::IfcBaseEntity* IfcGeom::Kernel::get_decomposing_entity(IfcUtil::IfcBaseEntity* inst, bool include_openings) {
+#ifdef HAS_SCHEMA_2x3
if (inst->as()) {
return get_decomposing_entity_impl(inst->as(), include_openings);
- } else if (inst->as()) {
- return get_decomposing_entity_impl(inst->as(), include_openings);
- } else if (inst->as()) {
- return get_decomposing_entity_impl(inst->as(), include_openings);
- } else if (inst->as()) {
- return get_decomposing_entity_impl(inst->as(), include_openings);
- } else if (inst->as()) {
- return get_decomposing_entity_impl(inst->as(), include_openings);
- } else if (inst->as()) {
- return get_decomposing_entity_impl(inst->as(), include_openings);
- } else if (inst->declaration().name() == "IfcProject") {
- return nullptr;
- } else {
- throw IfcParse::IfcException("Unexpected entity " + inst->declaration().name());
}
+#endif
+#ifdef HAS_SCHEMA_4
+ if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x1
+ if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x2
+ if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
+ if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
+ if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ }
+#endif
+ if (inst->declaration().name() == "IfcProject") {
+ return nullptr;
+ }
+
+ throw IfcParse::IfcException("Unexpected entity " + inst->declaration().name());
}
namespace {
@@ -223,21 +278,38 @@ namespace {
}
std::map IfcGeom::Kernel::get_layers(IfcUtil::IfcBaseEntity* inst) {
+#ifdef HAS_SCHEMA_2x3
if (inst->as()) {
return get_layers_impl(inst->as());
- } else if (inst->as()) {
- return get_layers_impl(inst->as());
- } else if (inst->as()) {
- return get_layers_impl(inst->as());
- } else if (inst->as()) {
- return get_layers_impl(inst->as());
- } else if (inst->as()) {
- return get_layers_impl(inst->as());
- } else if (inst->as()) {
- return get_layers_impl(inst->as());
- } else {
- throw IfcParse::IfcException("Unexpected entity " + inst->declaration().name());
}
+#endif
+#ifdef HAS_SCHEMA_4
+ if (inst->as()) {
+ return get_layers_impl(inst->as());
+ }
+#endif
+#ifdef HAS_SCHEMA_4x1
+ if (inst->as()) {
+ return get_layers_impl(inst->as());
+ }
+#endif
+#ifdef HAS_SCHEMA_4x2
+ if (inst->as()) {
+ return get_layers_impl(inst->as());
+ }
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
+ if (inst->as()) {
+ return get_layers_impl(inst->as());
+ }
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
+ if (inst->as()) {
+ return get_layers_impl(inst->as());
+ }
+#endif
+
+ throw IfcParse::IfcException("Unexpected entity " + inst->declaration().name());
}
bool IfcGeom::Kernel::is_manifold(const TopoDS_Shape& a) {
diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h
index 76dd35ded9..3878755c61 100644
--- a/src/ifcgeom_schema_agnostic/Kernel.h
+++ b/src/ifcgeom_schema_agnostic/Kernel.h
@@ -5,12 +5,24 @@
#include "../ifcgeom/IfcGeomIteratorSettings.h"
#include "../ifcgeom/IfcRepresentationShapeItem.h"
+#ifdef HAS_SCHEMA_2x3
#include "../ifcparse/Ifc2x3.h"
+#endif
+#ifdef HAS_SCHEMA_4
#include "../ifcparse/Ifc4.h"
+#endif
+#ifdef HAS_SCHEMA_4x1
#include "../ifcparse/Ifc4x1.h"
+#endif
+#ifdef HAS_SCHEMA_4x2
#include "../ifcparse/Ifc4x2.h"
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
#include "../ifcparse/Ifc4x3_rc1.h"
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
#include "../ifcparse/Ifc4x3_rc2.h"
+#endif
#include
diff --git a/src/ifcgeom_schema_agnostic/Serialization.cpp b/src/ifcgeom_schema_agnostic/Serialization.cpp
index f14f710098..11efb997f1 100644
--- a/src/ifcgeom_schema_agnostic/Serialization.cpp
+++ b/src/ifcgeom_schema_agnostic/Serialization.cpp
@@ -3,23 +3,59 @@
#include
namespace IfcGeom {
+#ifdef HAS_SCHEMA_2x3
extern IfcUtil::IfcBaseClass* tesselate_Ifc2x3(const TopoDS_Shape& shape, double deflection);
- extern IfcUtil::IfcBaseClass* tesselate_Ifc4(const TopoDS_Shape& shape, double deflection);
- extern IfcUtil::IfcBaseClass* tesselate_Ifc4x1(const TopoDS_Shape& shape, double deflection);
- extern IfcUtil::IfcBaseClass* tesselate_Ifc4x2(const TopoDS_Shape& shape, double deflection);
- extern IfcUtil::IfcBaseClass* tesselate_Ifc4x3_rc1(const TopoDS_Shape& shape, double deflection);
- extern IfcUtil::IfcBaseClass* tesselate_Ifc4x3_rc2(const TopoDS_Shape& shape, double deflection);
-
extern IfcUtil::IfcBaseClass* serialise_Ifc2x3(const TopoDS_Shape& shape, bool advanced);
+#endif
+
+#ifdef HAS_SCHEMA_4
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4(const TopoDS_Shape& shape, double deflection);
extern IfcUtil::IfcBaseClass* serialise_Ifc4(const TopoDS_Shape& shape, bool advanced);
+#endif
+
+#ifdef HAS_SCHEMA_4x1
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x1(const TopoDS_Shape& shape, double deflection);
extern IfcUtil::IfcBaseClass* serialise_Ifc4x1(const TopoDS_Shape& shape, bool advanced);
+#endif
+
+#ifdef HAS_SCHEMA_4x2
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x2(const TopoDS_Shape& shape, double deflection);
extern IfcUtil::IfcBaseClass* serialise_Ifc4x2(const TopoDS_Shape& shape, bool advanced);
+#endif
+
+#ifdef HAS_SCHEMA_4x3_rc1
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x3_rc1(const TopoDS_Shape& shape, double deflection);
extern IfcUtil::IfcBaseClass* serialise_Ifc4x3_rc1(const TopoDS_Shape& shape, bool advanced);
+#endif
+
+#ifdef HAS_SCHEMA_4x3_rc2
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x3_rc2(const TopoDS_Shape& shape, double deflection);
extern IfcUtil::IfcBaseClass* serialise_Ifc4x3_rc2(const TopoDS_Shape& shape, bool advanced);
+#endif
}
template
-IfcUtil::IfcBaseClass* execute_based_on_schema(Fn fn_2x3, Fn fn_4, Fn fn_4x1, Fn fn_4x2, Fn fn_4x3_rc1, Fn fn_4x3_rc2, const std::string& schema_name, const TopoDS_Shape& shape, T t) {
+IfcUtil::IfcBaseClass* execute_based_on_schema(
+#ifdef HAS_SCHEMA_2x3
+ Fn fn_2x3,
+#endif
+#ifdef HAS_SCHEMA_4
+ Fn fn_4,
+#endif
+#ifdef HAS_SCHEMA_4x1
+ Fn fn_4x1,
+#endif
+#ifdef HAS_SCHEMA_4x2
+ Fn fn_4x2,
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
+ Fn fn_4x3_rc1,
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
+ Fn fn_4x3_rc2,
+#endif
+ const std::string& schema_name, const TopoDS_Shape& shape, T t)
+{
// @todo an ugly hack to guarantee schemas are initialised.
try {
IfcParse::schema_by_name("IFC2X3");
@@ -27,41 +63,82 @@ IfcUtil::IfcBaseClass* execute_based_on_schema(Fn fn_2x3, Fn fn_4, Fn fn_4x1, Fn
const std::string schema_name_lower = boost::to_lower_copy(schema_name);
+#ifdef HAS_SCHEMA_2x3
if (schema_name_lower == "ifc2x3") {
return fn_2x3(shape, t);
- } else if (schema_name_lower == "ifc4") {
- return fn_4(shape, t);
- } else if (schema_name_lower == "ifc4x1") {
- return fn_4x1(shape, t);
- } else if (schema_name_lower == "ifc4x2") {
- return fn_4x2(shape, t);
- } else if (schema_name_lower == "ifc4x3_rc1") {
- return fn_4x3_rc1(shape, t);
- } else if (schema_name_lower == "ifc4x3_rc2") {
- return fn_4x3_rc2(shape, t);
- } else {
- throw IfcParse::IfcException("No geometry serialization available for " + schema_name);
}
+#endif
+#ifdef HAS_SCHEMA_4
+ if (schema_name_lower == "ifc4") {
+ return fn_4(shape, t);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x1
+ if (schema_name_lower == "ifc4x1") {
+ return fn_4x1(shape, t);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x2
+ if (schema_name_lower == "ifc4x2") {
+ return fn_4x2(shape, t);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
+ if (schema_name_lower == "ifc4x3_rc1") {
+ return fn_4x3_rc1(shape, t);
+ }
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
+ if (schema_name_lower == "ifc4x3_rc2") {
+ return fn_4x3_rc2(shape, t);
+ }
+#endif
+
+ throw IfcParse::IfcException("No geometry serialization available for " + schema_name);
}
IfcUtil::IfcBaseClass* IfcGeom::tesselate(const std::string& schema_name, const TopoDS_Shape& shape, double deflection) {
return execute_based_on_schema(
- IfcGeom::tesselate_Ifc2x3,
- IfcGeom::tesselate_Ifc4,
- IfcGeom::tesselate_Ifc4x1,
- IfcGeom::tesselate_Ifc4x2,
- IfcGeom::tesselate_Ifc4x3_rc1,
+#ifdef HAS_SCHEMA_2x3
+ IfcGeom::tesselate_Ifc2x3,
+#endif
+#ifdef HAS_SCHEMA_4
+ IfcGeom::tesselate_Ifc4,
+#endif
+#ifdef HAS_SCHEMA_4x1
+ IfcGeom::tesselate_Ifc4x1,
+#endif
+#ifdef HAS_SCHEMA_4x2
+ IfcGeom::tesselate_Ifc4x2,
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
+ IfcGeom::tesselate_Ifc4x3_rc1,
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
IfcGeom::tesselate_Ifc4x3_rc2,
+#endif
schema_name, shape, deflection);
}
IfcUtil::IfcBaseClass* IfcGeom::serialise(const std::string& schema_name, const TopoDS_Shape& shape, bool advanced) {
return execute_based_on_schema(
- IfcGeom::serialise_Ifc2x3,
- IfcGeom::serialise_Ifc4,
- IfcGeom::serialise_Ifc4x1,
- IfcGeom::serialise_Ifc4x2,
- IfcGeom::serialise_Ifc4x3_rc1,
+#ifdef HAS_SCHEMA_2x3
+ IfcGeom::serialise_Ifc2x3,
+#endif
+#ifdef HAS_SCHEMA_4
+ IfcGeom::serialise_Ifc4,
+#endif
+#ifdef HAS_SCHEMA_4x1
+ IfcGeom::serialise_Ifc4x1,
+#endif
+#ifdef HAS_SCHEMA_4x2
+ IfcGeom::serialise_Ifc4x2,
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
+ IfcGeom::serialise_Ifc4x3_rc1,
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
IfcGeom::serialise_Ifc4x3_rc2,
+#endif
schema_name, shape, advanced);
}
\ No newline at end of file
diff --git a/src/ifcopenshell-python/.gitignore b/src/ifcopenshell-python/.gitignore
new file mode 100644
index 0000000000..3d0dbe4467
--- /dev/null
+++ b/src/ifcopenshell-python/.gitignore
@@ -0,0 +1 @@
+tests/
\ No newline at end of file
diff --git a/src/ifcopenshell-python/ifcopenshell/alignment.py b/src/ifcopenshell-python/ifcopenshell/alignment.py
new file mode 100644
index 0000000000..9dc5c9bf3a
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/alignment.py
@@ -0,0 +1,250 @@
+import operator
+
+from dataclasses import dataclass
+
+import numpy
+
+import ifcopenshell
+import ifcopenshell.geom
+import ifcopenshell.express
+import ifcopenshell.transition_curve
+
+# geometric primitives
+
+# @notes
+# - not sure if the separation of geometric primitives make sense
+# does it make handling the variety of distance expressions and
+# interpolation harder?
+
+
+@dataclass
+class line:
+ start_point: numpy.ndarray
+ direction_vector: numpy.ndarray
+
+ def __call__(self, u):
+ p = numpy.ndarray((3,))
+ p[0:2] = self.start_point + self.direction_vector * u
+ p[2] = numpy.nan
+ return p
+
+
+@dataclass
+class circle:
+ radius: numpy.ndarray
+
+ def __call__(self, u):
+ return numpy.array(
+ [self.radius * numpy.cos(u), self.radius * numpy.sin(u), numpy.nan]
+ )
+
+
+def place(matrix, func):
+ """
+ Higher order function for application of a 3x3 matrix
+ to a 2D point. Assumes a functor such as line or circle.
+ """
+
+ def inner(*args):
+ v = func(*args)
+ # homogenize
+ v = numpy.insert(v[0:2], v[0:2].shape, 1, axis=-1)
+ p = numpy.ndarray((3,))
+ p[0:2] = (matrix @ v)[0:2]
+ p[2] = numpy.nan
+ return p
+
+ return inner
+
+
+# primitives for manipulating and joining curve functor domains
+
+
+def reparametrized_curve(fn, a, b):
+ return lambda u: fn(a * u + b)
+
+
+def normalized_curve(fn):
+ return lambda u: fn(u / fn.length)
+
+
+class trimmed_curve:
+ def __init__(self, fn, length):
+ self.fn = fn
+ self.length = length
+
+ def __call__(self, u):
+ assert u >= 0.0 and u <= self.length
+ return self.fn(u)
+
+
+class piecewise:
+ # takes a set of functors and returns a function f(u) that delegates to the correct segment
+
+ def __init__(self, fns):
+ self.fns = fns
+ self.length = sum(map(operator.attrgetter("length"), fns))
+
+ def __call__(self, u):
+ # this is silly, assuming `u` is monotonically increases we should not always start
+ # searching from the first segment or at least binary search into the segment
+ # lengths
+ u0 = 0
+ for fn in self.fns:
+ u1 = u0 + fn.length
+ if u >= u0 and u <= u1:
+ return fn(u - u0)
+ u0 = u1
+
+
+# mapping functions from IFC entities
+
+
+def map_inst(inst):
+ """
+ Looks up one of the implementation functions below in the global namespace
+ """
+ return globals()[f"impl_{inst.is_a()}"](inst)
+
+
+def impl_IfcLine(inst):
+ return line(
+ numpy.array(inst.Pnt.Coordinates),
+ numpy.array(inst.Dir.Orientation.DirectionRatios) * inst.Dir.Magnitude,
+ )
+
+
+def impl_IfcCircle(inst):
+ return place(map_inst(inst.Position), circle(inst.Radius))
+
+
+def impl_IfcClothoid(inst):
+ # @todo
+ # place = map_inst(inst.Position)
+ # ifcopenshell.transition_curve.TransitionCurve(
+ # StartPoint = place.T[2]
+ # StartDirection = numpy.arctan2(place.T[0][1], place.T[0][0]),
+ # SegmentLength =
+ # IsStartRadiusCCW =
+ # IsEndRadiusCCW =
+ # TransitionCurveType =
+ # StartRadius =
+ # EndRadius =
+ # )
+ return lambda *args: numpy.array((0.0, 0.0))
+
+
+def impl_IfcAxis2Placement2D(inst):
+ arr = numpy.eye(3)
+
+ if inst is None:
+ return arr
+
+ arr.T[2, 0:2] = inst.Location.Coordinates
+
+ if inst.RefDirection is None:
+ return arr
+
+ arr.T[0, 0:2] = inst.RefDirection.DirectionRatios
+ arr.T[0, 0:2] /= numpy.linalg.norm(arr.T[0, 0:2])
+ arr.T[1, 0:2] = -arr.T[0, 1], arr.T[0, 0]
+
+ return arr
+
+
+# conversion functions for semantic design parameters (not used atm)
+
+
+def convert(inst):
+ """
+ Looks up one of the conversion functions below in the global namespace
+ """
+ yield from globals()[f"convert_{inst.is_a()}_{inst.PredefinedType}"](inst)
+
+
+def convert_IfcAlignmentHorizontalSegment_LINE(data):
+ xy = numpy.array(data.StartPoint.Coordinates)
+ yield xy
+ di = numpy.array([numpy.cos(data.StartDirection), numpy.sin(data.StartDirection)])
+ yield xy + di * data.SegmentLength
+
+
+# Two approaches, either DesignParameters or Representation
+
+
+def interpret_linear_element_semantics(settings, crv):
+ # traverse decomposition
+ for rel in crv.IsNestedBy:
+ for obj in rel.RelatedObjects:
+ yield from interpret_linear_element_semantics(settings, obj)
+
+ # lookup design parameters and dispatch to conversion function
+ if crv.is_a("IfcAlignmentSegment"):
+ dp = crv.DesignParameters
+ yield from convert(dp)
+
+
+def evaluate_segment(segment):
+ # print(segment)
+ # print(segment.ParentCurve)
+ # print()
+
+ func = place(map_inst(segment.Placement), map_inst(segment.ParentCurve))
+
+ # reparam so domain starts at zero
+ reparam = reparametrized_curve(func, 1.0, -segment.SegmentStart[0])
+
+ # embed curve length (doesn't do much, just make length recoverable)
+ trimmed = trimmed_curve(reparam, segment.SegmentLength[0])
+
+ return trimmed
+
+
+def interpret_linear_element_geometry(settings, crv):
+ func = piecewise(
+ list(
+ map(
+ evaluate_segment,
+ crv.Representation.Representations[0].Items[0].Segments,
+ )
+ )
+ )
+
+ for u in numpy.linspace(0, func.length, num=int(numpy.ceil(func.length / 0.05))):
+ yield func(u)
+
+
+interpret_linear_element = interpret_linear_element_geometry
+
+
+def create_shape(settings, elem):
+ if elem.is_a("IfcLinearPositioningElement") or elem.is_a("IfcLinearElement"):
+ return numpy.row_stack(list(interpret_linear_element(settings, elem)))
+ else:
+ return ifcopenshell.geom.create_shape(settings, elem)
+
+
+def print_structure(alignment, indent=0):
+ """
+ Debugging function to print alignment decomposition
+ """
+ print(" " * indent, str(alignment)[0:100])
+ for rel in alignment.IsNestedBy:
+ for child in rel.RelatedObjects:
+ print_structure(child, indent + 2)
+
+
+if __name__ == "__main__":
+ import sys
+ from matplotlib import pyplot as plt
+
+ s = ifcopenshell.express.parse("IFC4x3_RC3.exp")
+ ifcopenshell.register_schema(s)
+ f = ifcopenshell.open(sys.argv[1])
+ print_structure(f.by_type("IfcAlignment")[0])
+
+ al_hor = f.by_type("IfcAlignmentHorizontal")[0]
+ xy = create_shape({}, al_hor)
+
+ plt.plot(xy.T[0], xy.T[1])
+ plt.savefig("horizontal_alignment.png")
diff --git a/src/ifcopenshell-python/ifcopenshell/api/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/__init__.py
index 0468132d86..8343b71e8f 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/__init__.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/__init__.py
@@ -1,11 +1,99 @@
+import json
+import numpy
import importlib
+import ifcopenshell
import ifcopenshell.api
-def run(usecase_path, ifc_file=None, **settings):
+pre_listeners = {}
+post_listeners = {}
+
+
+def run(usecase_path, ifc_file=None, should_run_listeners=True, **settings):
+ if should_run_listeners:
+ for listener in pre_listeners.get(usecase_path, {}).values():
+ listener(usecase_path, ifc_file, settings)
+
+ def serialise_entity_instance(entity):
+ return {"cast_type": "entity_instance", "value": entity.id(), "Name": getattr(entity, "Name", None)}
+
+ vcs_settings = settings.copy()
+ for key, value in settings.items():
+ if isinstance(value, ifcopenshell.entity_instance):
+ vcs_settings[key] = serialise_entity_instance(value)
+ elif isinstance(value, numpy.ndarray):
+ vcs_settings[key] = {"cast_type": "ndarray", "value": value.tolist()}
+ elif isinstance(value, list) and value and isinstance(value[0], ifcopenshell.entity_instance):
+ vcs_settings[key] = [serialise_entity_instance(i) for i in value]
+ if "add_representation" in usecase_path:
+ pass
+ # print(usecase_path, "{ ... settings too complex right now ... }")
+ elif "owner." in usecase_path:
+ pass
+ else:
+ pass
+ # print(vcs_settings)
+ # try:
+ # print(usecase_path, json.dumps(vcs_settings))
+ # except:
+ # print(usecase_path, vcs_settings)
+
importlib.import_module(f"ifcopenshell.api.{usecase_path}")
module, usecase = usecase_path.split(".")
usecase_class = getattr(getattr(getattr(ifcopenshell.api, module), usecase), "Usecase")
+
if ifc_file:
- return usecase_class(ifc_file, **settings).execute()
- return usecase_class(**settings).execute()
+ result = usecase_class(ifc_file, **settings).execute()
+ else:
+ result = usecase_class(**settings).execute()
+
+ if should_run_listeners:
+ for listener in post_listeners.get(usecase_path, {}).values():
+ listener(usecase_path, ifc_file, settings)
+
+ return result
+
+
+def add_pre_listener(usecase_path, name, callback):
+ """Add a pre listener
+
+ :param usecase_path: string, ifcopenshell api use case path
+ :param name: string, name of listener
+ :param callback: callback function
+ """
+ pre_listeners.setdefault(usecase_path, {})[name] = callback
+
+
+def add_post_listener(usecase_path, name, callback):
+ """Add a post listener
+
+ :param usecase_path: string, ifcopenshell api use case path
+ :param name: string, name of listener
+ :param callback: callback function
+ """
+ post_listeners.setdefault(usecase_path, {})[name] = callback
+
+
+def remove_pre_listener(usecase_path, name, callback):
+ """Remove a pre listener
+
+ :param usecase_path: string, ifcopenshell api use case path
+ :param name: string, name of listener
+ :param callback: callback function
+ """
+ pre_listeners.get(usecase_path, {}).pop(name, None)
+
+
+def remove_post_listener(usecase_path, name, callback):
+ """Remove a post listener
+
+ :param usecase_path: string, ifcopenshell api use case path
+ :param name: string, name of listener
+ :param callback: callback function
+ """
+ post_listeners.get(usecase_path, {}).pop(name, None)
+
+
+def remove_all_listeners():
+ pre_listeners.clear()
+ post_listeners.clear()
diff --git a/src/ifcopenshell-python/ifcopenshell/api/aggregate/unassign_object.py b/src/ifcopenshell-python/ifcopenshell/api/aggregate/unassign_object.py
new file mode 100644
index 0000000000..9034defc29
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/aggregate/unassign_object.py
@@ -0,0 +1,25 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_object": None,
+ "product": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["product"].Decomposes or []:
+ if not rel.is_a("IfcRelAggregates") or rel.RelatingObject != self.settings["relating_object"]:
+ continue
+ if len(rel.RelatedObjects) == 1:
+ return self.file.remove(rel)
+ related_objects = list(rel.RelatedObjects)
+ related_objects.remove(self.settings["product"])
+ rel.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
+ return rel
diff --git a/src/ifcopenshell-python/ifcopenshell/api/boundary/data.py b/src/ifcopenshell-python/ifcopenshell/api/boundary/data.py
new file mode 100644
index 0000000000..2ac4e6d7ca
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/boundary/data.py
@@ -0,0 +1,33 @@
+class Data:
+ is_loaded = False
+ boundaries = {}
+ spaces = {}
+
+ @classmethod
+ def purge(cls):
+ cls.is_loaded = False
+ cls.boundaries = {}
+ cls.spaces = {}
+
+ @classmethod
+ def load(cls, file):
+ cls._file = file
+ for boundary in cls._file.by_type("IfcRelSpaceBoundary"):
+ data = boundary.get_info()
+ data["RelatingSpace"] = data["RelatingSpace"].id() if data["RelatingSpace"] else None
+ data["RelatedBuildingElement"] = (
+ data["RelatedBuildingElement"].id() if data["RelatedBuildingElement"] else None
+ )
+ del data["ConnectionGeometry"]
+ if cls._file.schema == "IFC2X3":
+ pass
+ else:
+ if boundary.is_a("IfcRelSpaceBoundary1stLevel"):
+ data["ParentBoundary"] = data["ParentBoundary"].id() if data["ParentBoundary"] else None
+ if boundary.is_a("IfcRelSpaceBoundary2ndLevel"):
+ data["CorrespondingBoundary"] = (
+ data["CorrespondingBoundary"].id() if data["CorrespondingBoundary"] else None
+ )
+ cls.boundaries[boundary.id()] = data
+ cls.spaces.setdefault(data["RelatingSpace"], []).append(boundary.id())
+ cls.is_loaded = True
diff --git a/src/ifcopenshell-python/ifcopenshell/api/classification/add_classification.py b/src/ifcopenshell-python/ifcopenshell/api/classification/add_classification.py
index f66135c23d..3923a64d02 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/classification/add_classification.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/classification/add_classification.py
@@ -2,6 +2,7 @@ import ifcopenshell
import ifcopenshell.util.schema
import ifcopenshell.util.date
+
class Usecase:
def __init__(self, file, **settings):
self.file = file
@@ -22,16 +23,21 @@ class Usecase:
# TODO: should auto date migration be part of the migrator?
if self.file.schema == "IFC2X3" and edition_date:
- result.EditionDate = ifcopenshell.util.date.datetime2ifc(edition_date, "IfcCalendarDate")
+ result.EditionDate = self.file.create_entity(
+ "IfcCalendarDate", **ifcopenshell.util.date.datetime2ifc(edition_date, "IfcCalendarDate")
+ )
else:
result.EditionDate = ifcopenshell.util.date.datetime2ifc(edition_date, "IfcDate")
- self.file.create_entity("IfcRelAssociatesClassification", **{
- "GlobalId": ifcopenshell.guid.new(),
- "RelatedObjects": [self.file.by_type("IfcProject")[0]],
- "RelatingClassification": result
- })
- return # See bug #1272
+ self.file.create_entity(
+ "IfcRelAssociatesClassification",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "RelatedObjects": [self.file.by_type("IfcProject")[0]],
+ "RelatingClassification": result,
+ }
+ )
+ return result # See bug #1272
try:
result = self.file.add(self.settings["classification"])
except:
diff --git a/src/ifcopenshell-python/ifcopenshell/api/control/assign_control.py b/src/ifcopenshell-python/ifcopenshell/api/control/assign_control.py
new file mode 100644
index 0000000000..f8cc67cef6
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/control/assign_control.py
@@ -0,0 +1,43 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_control": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if self.settings["related_object"].HasAssignments:
+ for assignment in self.settings["related_object"].HasAssignments:
+ if (
+ assignment.is_a("IfclRelAssignsToControl")
+ and assignment.RelatingControl == self.settings["relating_control"]
+ ):
+ return
+
+ controls = None
+ if self.settings["relating_control"].Controls:
+ controls = self.settings["relating_control"].Controls[0]
+
+ if controls:
+ related_objects = set(controls.RelatedObjects)
+ related_objects.add(self.settings["related_object"])
+ controls.RelatedObjects = list(related_objects)
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": controls})
+ else:
+ controls = self.file.create_entity(
+ "IfcRelAssignsToControl",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [self.settings["related_object"]],
+ "RelatingControl": self.settings["relating_control"],
+ },
+ )
+ return controls
diff --git a/src/ifcopenshell-python/ifcopenshell/api/control/unassign_control.py b/src/ifcopenshell-python/ifcopenshell/api/control/unassign_control.py
new file mode 100644
index 0000000000..68f6ab673d
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/control/unassign_control.py
@@ -0,0 +1,25 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_control": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["related_object"].HasAssignments or []:
+ if not rel.is_a("IfcRelAssignsToControl") or rel.RelatingControl != self.settings["relating_control"]:
+ continue
+ if len(rel.RelatedObjects) == 1:
+ return self.file.remove(rel)
+ related_objects = list(rel.RelatedObjects)
+ related_objects.remove(self.settings["related_object"])
+ rel.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
+ return rel
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_item.py b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_item.py
new file mode 100644
index 0000000000..dc1aa1e29c
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_item.py
@@ -0,0 +1,28 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_schedule": None, "cost_item": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ cost_item = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcCostItem")
+
+ if self.settings["cost_schedule"]:
+ self.file.create_entity(
+ "IfcRelAssignsToControl",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [cost_item],
+ "RelatingControl": self.settings["cost_schedule"],
+ }
+ )
+ elif self.settings["cost_item"]:
+ ifcopenshell.api.run(
+ "nest.assign_object", self.file, related_object=cost_item, relating_object=self.settings["cost_item"]
+ )
+ return cost_item
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_item_quantity.py b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_item_quantity.py
new file mode 100644
index 0000000000..dff2d825a0
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_item_quantity.py
@@ -0,0 +1,22 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None, "ifc_class": "IfcQuantityCount"}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ quantity = self.file.create_entity(self.settings["ifc_class"], Name="Unnamed")
+ quantity[3] = 0.0
+ # This is a bold assumption
+ # https://forums.buildingsmart.org/t/how-does-a-cost-item-know-that-it-is-counting-a-controlled-product/3564
+ if self.settings["ifc_class"] == "IfcQuantityCount" and self.settings["cost_item"].Controls:
+ for rel in self.settings["cost_item"].Controls:
+ quantity[3] += len(rel.RelatedObjects)
+ quantities = list(self.settings["cost_item"].CostQuantities or [])
+ quantities.append(quantity)
+ self.settings["cost_item"].CostQuantities = quantities
+ return quantity
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_schedule.py
new file mode 100644
index 0000000000..9111cd0cb6
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_schedule.py
@@ -0,0 +1,22 @@
+import ifcopenshell.api
+import ifcopenshell.util.date
+from datetime import datetime
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"name": None, "predefined_type": "NOTDEFINED", "start_time": datetime.now()}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ cost_schedule = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class="IfcCostSchedule",
+ predefined_type=self.settings["predefined_type"],
+ name=self.settings["name"],
+ )
+ cost_schedule.UpdateDate = ifcopenshell.util.date.datetime2ifc(datetime.now(), "IfcDateTime")
+ return cost_schedule
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_value.py b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_value.py
new file mode 100644
index 0000000000..eb3c44f2c7
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/add_cost_value.py
@@ -0,0 +1,18 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"parent": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ value = self.file.create_entity("IfcCostValue")
+ if self.settings["parent"].is_a("IfcCostItem"):
+ values = list(self.settings["parent"].CostValues or [])
+ values.append(value)
+ self.settings["parent"].CostValues = values
+ elif self.settings["parent"].is_a("IfcCostValue"):
+ values = list(self.settings["parent"].Components or [])
+ values.append(value)
+ self.settings["parent"].Components = values
+ return value
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/assign_cost_item_product.py b/src/ifcopenshell-python/ifcopenshell/api/cost/assign_cost_item_product.py
new file mode 100644
index 0000000000..df0944a876
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/assign_cost_item_product.py
@@ -0,0 +1,31 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None, "products": []}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ quantity_names = set()
+ for quantity in self.settings["cost_item"].CostQuantities or []:
+ if quantity.Name:
+ quantity_names.add(quantity.Name)
+
+ for product in self.settings["products"]:
+ ifcopenshell.api.run(
+ "control.assign_control",
+ self.file,
+ related_object=product,
+ relating_control=self.settings["cost_item"],
+ )
+
+ for name in quantity_names:
+ ifcopenshell.api.run(
+ "cost.assign_cost_item_product_quantities",
+ self.file,
+ cost_item=self.settings["cost_item"],
+ prop_name=name
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/assign_cost_item_product_quantities.py b/src/ifcopenshell-python/ifcopenshell/api/cost/assign_cost_item_product_quantities.py
new file mode 100644
index 0000000000..eea39bf633
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/assign_cost_item_product_quantities.py
@@ -0,0 +1,32 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None, "prop_name": ""}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.quantities = set(self.settings["cost_item"].CostQuantities or [])
+ for control in self.settings["cost_item"].Controls or []:
+ for related_object in control.RelatedObjects:
+ self.add_quantity_from_related_object(related_object)
+ self.settings["cost_item"].CostQuantities = list(self.quantities)
+
+ def add_quantity_from_related_object(self, element):
+ if element.is_a("IfcTypeObject"):
+ for definition in element.HasPropertySets or []:
+ self.add_quantity_from_qto(definition)
+ else:
+ for relationship in element.IsDefinedBy:
+ if relationship.is_a("IfcRelDefinesByProperties"):
+ self.add_quantity_from_qto(relationship.RelatingPropertyDefinition)
+
+ def add_quantity_from_qto(self, qto):
+ if not qto.is_a("IfcElementQuantity"):
+ return
+ for prop in qto.Quantities:
+ if prop.is_a("IfcPhysicalSimpleQuantity") and prop.Name.lower() == self.settings["prop_name"].lower():
+ self.quantities.add(prop)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/copy_cost_item_values.py b/src/ifcopenshell-python/ifcopenshell/api/cost/copy_cost_item_values.py
new file mode 100644
index 0000000000..918a71763d
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/copy_cost_item_values.py
@@ -0,0 +1,17 @@
+import ifcopenshell.util.element
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"source": None, "destination": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for cost_value in self.settings["destination"].CostValues or []:
+ ifcopenshell.api.run("cost.remove_cost_item_value", self.file, cost_value=cost_value)
+ copied_cost_values = []
+ for cost_value in self.settings["source"].CostValues or []:
+ copied_cost_values.append(ifcopenshell.util.element.copy_deep(self.file, cost_value))
+ self.settings["destination"].CostValues = copied_cost_values
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/data.py b/src/ifcopenshell-python/ifcopenshell/api/cost/data.py
new file mode 100644
index 0000000000..9d01cdcbdc
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/data.py
@@ -0,0 +1,156 @@
+import ifcopenshell.util.date
+
+
+class Data:
+ is_loaded = False
+ cost_schedules = {}
+ cost_items = {}
+ physical_quantities = {}
+ cost_values = {}
+
+ @classmethod
+ def purge(cls):
+ cls.is_loaded = False
+ cls.cost_schedules = {}
+ cls.cost_items = {}
+ cls.physical_quantities = {}
+ cls.cost_values = {}
+
+ @classmethod
+ def load(cls, file):
+ cls.file = file
+ cls.cost_schedules = {}
+ cls.cost_items = {}
+ cls.physical_quantities = {}
+ cls.cost_values = {}
+
+ for cost_schedule in cls.file.by_type("IfcCostSchedule"):
+ data = cost_schedule.get_info()
+ del data["OwnerHistory"]
+ if data["SubmittedOn"]:
+ data["SubmittedOn"] = ifcopenshell.util.date.ifc2datetime(data["SubmittedOn"])
+ if data["UpdateDate"]:
+ data["UpdateDate"] = ifcopenshell.util.date.ifc2datetime(data["UpdateDate"])
+ data["Controls"] = []
+ for rel in cost_schedule.Controls:
+ for related_object in rel.RelatedObjects:
+ if related_object.is_a("IfcCostItem"):
+ data["Controls"].append(related_object.id())
+ break # We are only allowed one summary cost item
+ cls.cost_schedules[cost_schedule.id()] = data
+
+ for cost_item in cls.file.by_type("IfcCostItem"):
+ data = cost_item.get_info()
+ del data["OwnerHistory"]
+ del data["CostValues"]
+ data["IsNestedBy"] = []
+ data["Controls"] = []
+ for rel in cost_item.IsNestedBy:
+ [data["IsNestedBy"].append(o.id()) for o in rel.RelatedObjects if o.is_a("IfcCostItem")]
+ for rel in cost_item.Controls:
+ [data["Controls"].append(o.id()) for o in rel.RelatedObjects or []]
+ cls.cost_items[cost_item.id()] = data
+ cls.load_cost_item_quantities(cost_item, data)
+ cls.load_cost_item_values(cost_item, data)
+ cls.is_loaded = True
+
+ @classmethod
+ def load_cost_item_quantities(cls, cost_item, data):
+ data["CostQuantities"] = []
+ data["TotalCostQuantity"] = cls.get_total_quantity(cost_item)
+ for quantity in cost_item.CostQuantities or []:
+ quantity_data = quantity.get_info()
+ del quantity_data["Unit"]
+ cls.physical_quantities[quantity.id()] = quantity_data
+ data["CostQuantities"].append(quantity.id())
+
+ @classmethod
+ def load_cost_item_values(cls, cost_item, data):
+ data["CostValues"] = []
+ data["TotalCostValue"] = 0.0
+ data["TotalAppliedValue"] = 0.0
+ for cost_value in cost_item.CostValues or []:
+ cls.load_cost_item_value(cost_item, cost_value)
+ data["CostValues"].append(cost_value.id())
+ data["TotalAppliedValue"] += cls.cost_values[cost_value.id()]["AppliedValue"]
+ data["TotalCostValue"] = data["TotalCostQuantity"] * data["TotalAppliedValue"]
+
+ @classmethod
+ def load_cost_item_value(cls, cost_item, cost_value):
+ value_data = cost_value.get_info()
+ del value_data["AppliedValue"]
+ del value_data["UnitBasis"]
+ if value_data["ApplicableDate"]:
+ value_data["ApplicableDate"] = ifcopenshell.util.date.ifc2datetime(value_data["ApplicableDate"])
+ if value_data["FixedUntilDate"]:
+ value_data["FixedUntilDate"] = ifcopenshell.util.date.ifc2datetime(value_data["FixedUntilDate"])
+ value_data["Components"] = [c.id() for c in value_data["Components"] or []]
+ value_data["AppliedValue"] = cls.calculate_applied_value(cost_item, cost_value)
+ cls.cost_values[cost_value.id()] = value_data
+ for component in cost_value.Components or []:
+ cls.load_cost_item_value(cost_item, component)
+
+ @classmethod
+ def calculate_applied_value(cls, cost_item, cost_value, category_filter=None):
+ if cost_value.ArithmeticOperator and cost_value.Components:
+ component_values = []
+ for component in cost_value.Components:
+ component_values.append(cls.calculate_applied_value(cost_item, component, category_filter))
+ if cost_value.ArithmeticOperator == "ADD":
+ return sum(component_values)
+ result = component_values.pop(0)
+ if cost_value.ArithmeticOperator == "DIVIDE":
+ for value in component_values:
+ try:
+ result /= value
+ except ZeroDivisionError:
+ pass
+ elif cost_value.ArithmeticOperator == "MULTIPLY":
+ for value in component_values:
+ result *= value
+ elif cost_value.ArithmeticOperator == "SUBTRACT":
+ for value in component_values:
+ result -= value
+ return result
+ if cost_value.Category is None:
+ return cls.get_primitive_applied_value(cost_value.AppliedValue)
+ elif cost_value.Category == "*":
+ if cost_item.IsNestedBy:
+ return cls.sum_child_cost_items(cost_item)
+ else:
+ return cls.get_primitive_applied_value(cost_value.AppliedValue)
+ elif cost_value.Category:
+ if cost_item.IsNestedBy:
+ return cls.sum_child_cost_items(cost_item, category_filter=cost_value.Category)
+ else:
+ return cls.get_primitive_applied_value(cost_value.AppliedValue)
+ return 0
+
+ @classmethod
+ def sum_child_cost_items(cls, cost_item, category_filter=None):
+ result = 0
+ for rel in cost_item.IsNestedBy:
+ for child_cost_item in rel.RelatedObjects:
+ for child_cost_value in child_cost_item.CostValues or []:
+ if category_filter and child_cost_value.Category != category_filter:
+ continue
+ child_applied_value = cls.calculate_applied_value(child_cost_item, child_cost_value)
+ child_quantity = cls.get_total_quantity(child_cost_item)
+ result += child_applied_value * child_quantity
+ return result
+
+ @classmethod
+ def get_total_quantity(cls, cost_item):
+ return sum([q[3] for q in cost_item.CostQuantities or []]) or 1.0
+
+ @classmethod
+ def get_primitive_applied_value(cls, applied_value):
+ if not applied_value:
+ return 0.0
+ elif isinstance(applied_value, float):
+ return applied_value
+ elif hasattr(applied_value, "wrappedValue") and isinstance(applied_value.wrappedValue, float):
+ return applied_value.wrappedValue
+ elif applied_value.is_a("IfcMeasureWithUnit"):
+ return applied_value.ValueComponent
+ assert False, "Applied value {applied_value} not implemented"
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_item.py b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_item.py
new file mode 100644
index 0000000000..c2e409bdb9
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_item.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["cost_item"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_item_quantity.py b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_item_quantity.py
new file mode 100644
index 0000000000..bbf845d1f7
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_item_quantity.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"physical_quantity": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["physical_quantity"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_schedule.py
new file mode 100644
index 0000000000..efb8650f02
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_schedule.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_schedule": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["cost_schedule"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_value.py b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_value.py
new file mode 100644
index 0000000000..b80a9ff01e
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/edit_cost_value.py
@@ -0,0 +1,13 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_value": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ if name == "AppliedValue" and value is not None:
+ # TODO: support all applied value select types
+ value = self.file.createIfcReal(value)
+ setattr(self.settings["cost_value"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item.py b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item.py
new file mode 100644
index 0000000000..c9dc7a3cf9
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item.py
@@ -0,0 +1,22 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ for inverse in self.file.get_inverse(self.settings["cost_item"]):
+ if inverse.is_a("IfcRelNests"):
+ if inverse.RelatingObject == self.settings["cost_item"]:
+ for related_object in inverse.RelatedObjects:
+ ifcopenshell.api.run("cost.remove_cost_item", self.file, cost_item=related_object)
+ elif inverse.RelatedObjects == tuple(self.settings["cost_item"]):
+ self.file.remove(inverse)
+ elif inverse.is_a("IfcRelAssignsToControl"):
+ self.file.remove(inverse)
+ self.file.remove(self.settings["cost_item"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item_quantity.py b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item_quantity.py
new file mode 100644
index 0000000000..c7d83ba240
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item_quantity.py
@@ -0,0 +1,14 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None, "physical_quantity": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if len(self.file.get_inverse(self.settings["physical_quantity"])) == 1:
+ self.file.remove(self.settings["physical_quantity"])
+ return
+ quantities = list(self.settings["cost_item"].CostQuantities or [])
+ quantities.remove(self.settings["physical_quantity"])
+ self.settings["cost_item"].CostQuantities = quantities
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item_value.py b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item_value.py
new file mode 100644
index 0000000000..05d166790c
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_item_value.py
@@ -0,0 +1,9 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_value": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.file.remove(self.settings["cost_value"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_schedule.py
new file mode 100644
index 0000000000..36d300c283
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/remove_cost_schedule.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_schedule": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ self.file.remove(self.settings["cost_schedule"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/unassign_cost_item_product.py b/src/ifcopenshell-python/ifcopenshell/api/cost/unassign_cost_item_product.py
new file mode 100644
index 0000000000..ec652a0e10
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/cost/unassign_cost_item_product.py
@@ -0,0 +1,29 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"cost_item": None, "products": []}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.quantities = set(self.settings["cost_item"].CostQuantities or [])
+ for quantity in self.settings["cost_item"].CostQuantities or []:
+ for inverse in self.file.get_inverse(quantity):
+ if not inverse.is_a("IfcElementQuantity"):
+ continue
+ for rel in inverse.DefinesOccurrence or []:
+ for related_object in rel.RelatedObjects:
+ if related_object in self.settings["products"]:
+ self.quantities.remove(quantity)
+ self.settings["cost_item"].CostQuantities = list(self.quantities)
+
+ for product in self.settings["products"]:
+ ifcopenshell.api.run(
+ "control.unassign_control",
+ self.file,
+ related_object=product,
+ relating_control=self.settings["cost_item"],
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py
index 6868b91fe2..53be859417 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py
@@ -1,9 +1,13 @@
import bpy
import bmesh
import ifcopenshell.util.unit
-from mathutils import Vector
+from mathutils import Vector, Matrix
from blenderbim.bim.module.geometry.helper import Helper
+Z_AXIS = Vector((0, 0, 1))
+X_AXIS = Vector((1, 0, 0))
+EPSILON = 1e-6
+
class Usecase:
def __init__(self, file, **settings):
@@ -25,15 +29,20 @@ class Usecase:
# IfcExtrudedAreaSolid/IfcRectangleProfileDef
# IfcExtrudedAreaSolid/IfcCircleProfileDef
# IfcExtrudedAreaSolid/IfcArbitraryClosedProfileDef
- # IfcExtrudedAreaSolid/IfcArbitraryProfileDef
+ # IfcExtrudedAreaSolid/IfcArbitraryProfileDefWithVoids
+ # IfcExtrudedAreaSolid/IfcMaterialProfileSetUsage
"ifc_representation_class": None, # Whether to cast a mesh into a particular class
+ "profile_set_usage": None, # The material profile set if the extrusion requires it
}
self.ifc_vertices = []
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- if isinstance(self.settings["geometry"], bpy.types.Mesh):
+ if (
+ isinstance(self.settings["geometry"], bpy.types.Mesh)
+ and self.settings["geometry"] == self.settings["blender_object"].data
+ ):
self.evaluate_geometry()
if self.settings["unit_scale"] is None:
self.settings["unit_scale"] = ifcopenshell.util.unit.calculate_unit_scale(self.file)
@@ -43,35 +52,45 @@ class Usecase:
return self.create_plan_representation()
return self.create_variable_representation()
- def evaluate_geometry(self):
- self.boolean_modifiers = []
- for modifier in self.settings["blender_object"].modifiers:
- if not modifier.type == "BOOLEAN":
- continue
- modifier_data = {}
- for name in ["operation", "operand_type", "object", "solver", "use_self"]:
- modifier_data[name] = getattr(modifier, name)
- self.boolean_modifiers.append(modifier_data)
- self.settings["blender_object"].modifiers.remove(modifier)
-
- if self.settings["should_force_triangulation"]:
- mesh = self.settings["blender_object"].evaluated_get(bpy.context.evaluated_depsgraph_get()).to_mesh()
- bm = bmesh.new()
- bm.from_mesh(mesh)
- bmesh.ops.triangulate(bm, faces=bm.faces)
- bm.to_mesh(mesh)
- bm.free()
- del bm
- self.settings["geometry"] = mesh
+ def should_triangulate_face(self, face, threshold=EPSILON):
+ vz = face.normal
+ co = face.verts[0].co
+ if vz.length < 0.5:
+ return True
+ if abs(vz.z) < 0.5:
+ vx = vz.cross(Z_AXIS)
else:
- self.settings["geometry"] = (
- self.settings["blender_object"].evaluated_get(bpy.context.evaluated_depsgraph_get()).to_mesh()
- )
+ vx = vz.cross(X_AXIS)
+ vy = vx.cross(vz)
+ tM = Matrix(
+ [[vx.x, vy.x, vz.x, co.x], [vx.y, vy.y, vz.y, co.y], [vx.z, vy.z, vz.z, co.z], [0, 0, 0, 1]]
+ ).inverted()
- for modifier in self.boolean_modifiers:
- new = self.settings["blender_object"].modifiers.new("IfcOpeningElement", "BOOLEAN")
- for key, value in modifier.items():
- setattr(new, key, value)
+ return any([abs((tM @ v.co).z) > threshold for v in face.verts])
+
+ def evaluate_geometry(self):
+ for modifier in self.settings["blender_object"].modifiers:
+ if modifier.type == "BOOLEAN":
+ modifier.show_viewport = False
+
+ mesh = self.settings["blender_object"].evaluated_get(bpy.context.evaluated_depsgraph_get()).to_mesh()
+ bm = bmesh.new()
+ bm.from_mesh(mesh)
+ if self.settings["should_force_triangulation"]:
+ faces = bm.faces
+ else:
+ faces = [f for f in bm.faces if self.should_triangulate_face(f)]
+ bmesh.ops.triangulate(bm, faces=faces)
+ bm.to_mesh(mesh)
+ mesh.update()
+ bm.free()
+ del bm
+
+ self.settings["geometry"] = mesh
+
+ for modifier in self.settings["blender_object"].modifiers:
+ if modifier.type == "BOOLEAN":
+ modifier.show_viewport = True
def create_model_representation(self):
if self.settings["context"].is_a() == "IfcGeometricRepresentationContext":
@@ -97,6 +116,8 @@ class Usecase:
return self.create_curve3d_representation()
elif self.settings["context"].ContextIdentifier == "SurveyPoints":
return self.create_geometric_curve_set_representation()
+ elif self.settings["context"].ContextIdentifier == "Lighting":
+ return self.create_lighting_representation()
def create_plan_representation(self):
if self.settings["context"].ContextIdentifier == "Annotation":
@@ -116,7 +137,7 @@ class Usecase:
elif self.settings["context"].ContextIdentifier == "CoG":
pass
elif self.settings["context"].ContextIdentifier == "FootPrint":
- if self.settings["context"].TargetView in ["PLAN_VIEW", "REFLECTED_PLAN_VIEW"]:
+ if self.settings["context"].TargetView in ["SKETCH_VIEW", "PLAN_VIEW", "REFLECTED_PLAN_VIEW"]:
return self.create_geometric_curve_set_representation(is_2d=True)
elif self.settings["context"].ContextIdentifier == "Reference":
pass
@@ -125,11 +146,68 @@ class Usecase:
elif self.settings["context"].ContextIdentifier == "SurveyPoints":
pass
+ def create_lighting_representation(self):
+ return self.file.createIfcShapeRepresentation(
+ self.settings["context"],
+ self.settings["context"].ContextIdentifier,
+ "LightSource",
+ [self.create_light_source()],
+ )
+
+ def create_light_source(self):
+ if self.settings["geometry"].type == "POINT":
+ return self.create_light_source_positional()
+
+ def create_light_source_positional(self):
+ return self.file.create_entity(
+ "IfcLightSourcePositional",
+ **{
+ "LightColour": self.file.createIfcColourRgb(None, *self.settings["geometry"].color),
+ "Position": self.file.createIfcCartesianPoint((0.0, 0.0, 0.0)),
+ "Radius": self.convert_si_to_unit(self.settings["geometry"].shadow_soft_size),
+ },
+ )
+
+ def create_text_representation(self):
+ return self.file.createIfcShapeRepresentation(
+ self.settings["context"],
+ self.settings["context"].ContextIdentifier,
+ "Annotation2D",
+ [self.create_text()],
+ )
+
+ def create_text(self):
+ text = self.settings["geometry"]
+ if text.align_y in ["TOP_BASELINE", "BOTTOM_BASELINE", "BOTTOM"]:
+ y = "bottom"
+ elif text.align_y == "CENTER":
+ y = "middle"
+ elif text.align_y == "TOP":
+ y = "top"
+
+ if text.align_x == "LEFT":
+ x = "left"
+ elif text.align_x == "CENTER":
+ x = "middle"
+ elif text.align_x == "RIGHT":
+ x = "right"
+
+ origin = self.file.createIfcAxis2Placement3D(
+ self.file.createIfcCartesianPoint((0.0, 0.0, 0.0)),
+ self.file.createIfcDirection((0.0, 0.0, 1.0)),
+ self.file.createIfcDirection((1.0, 0.0, 0.0)),
+ )
+
+ # TODO: Planar extent right now is wrong ...
+ return self.file.createIfcTextLiteralWithExtent(
+ text.body, origin, "RIGHT", self.file.createIfcPlanarExtent(1000, 1000), f"{y}-{x}"
+ )
+
def create_variable_representation(self):
if self.settings["is_wireframe"]:
return self.create_wireframe_representation()
elif self.settings["is_curve"]:
- return self.create_curve_representation()
+ return self.create_curve3d_representation()
elif self.settings["is_point_cloud"]:
return self.create_point_cloud_representation()
elif isinstance(self.settings["geometry"], bpy.types.Camera):
@@ -142,6 +220,8 @@ class Usecase:
return self.create_arbitrary_extrusion_representation()
elif self.settings["ifc_representation_class"] == "IfcExtrudedAreaSolid/IfcArbitraryProfileDefWithVoids":
return self.create_arbitrary_void_extrusion_representation()
+ elif self.settings["ifc_representation_class"] == "IfcExtrudedAreaSolid/IfcMaterialProfileSetUsage":
+ return self.create_material_profile_set_extrusion_representation()
return self.create_mesh_representation()
def create_camera_block_representation(self):
@@ -164,7 +244,7 @@ class Usecase:
"XLength": self.convert_si_to_unit(width),
"YLength": self.convert_si_to_unit(height),
"ZLength": self.convert_si_to_unit(self.settings["geometry"].clip_end),
- }
+ },
)
return self.file.createIfcShapeRepresentation(
@@ -188,6 +268,14 @@ class Usecase:
self.create_curves(),
)
+ def create_curve2d_representation(self):
+ return self.file.createIfcShapeRepresentation(
+ self.settings["context"],
+ self.settings["context"].ContextIdentifier,
+ "Curve2D",
+ self.create_curves(is_2d=True),
+ )
+
def create_curves(self, is_2d=False):
if isinstance(self.settings["geometry"], bpy.types.Mesh):
if self.file.schema == "IFC2X3":
@@ -223,7 +311,7 @@ class Usecase:
def create_curves_from_mesh_ifc2x3(self, is_2d=False):
curves = []
points = [
- self.create_cartesian_point(v.co.x, v.co.y, v.co.z if is_2d else None)
+ self.create_cartesian_point(v.co.x, v.co.y, v.co.z if not is_2d else None)
for v in self.settings["geometry"].vertices
]
coord_list = [p.Coordinates for p in points]
@@ -308,6 +396,8 @@ class Usecase:
def create_arbitrary_void_extrusion_representation(self):
helper = Helper(self.file)
indices = helper.auto_detect_arbitrary_profile_with_voids_extruded_area_solid(self.settings["geometry"])
+ if not indices["inner_curves"]:
+ return self.create_arbitrary_extrusion_representation()
profile_def = helper.create_arbitrary_profile_def_with_voids(
self.settings["geometry"], indices["profile"], indices["inner_curves"]
)
@@ -319,6 +409,29 @@ class Usecase:
[item],
)
+ def create_material_profile_set_extrusion_representation(self):
+ profile_set = self.settings["profile_set_usage"].ForProfileSet
+ profile_def = profile_set.CompositeProfile or profile_set.MaterialProfiles[0].Profile
+ position = None
+ if self.file.schema == "IFC2X3":
+ position = self.file.createIfcAxis2Placement3D(
+ self.file.createIfcCartesianPoint((0.0, 0.0, 0.0)),
+ self.file.createIfcDirection((0.0, 0.0, 1.0)),
+ self.file.createIfcDirection((1.0, 0.0, 0.0)),
+ )
+ item = self.file.createIfcExtrudedAreaSolid(
+ profile_def,
+ position,
+ self.file.createIfcDirection((0.0, 0.0, 1.0)),
+ self.convert_si_to_unit(self.settings["blender_object"].dimensions[2]),
+ )
+ return self.file.createIfcShapeRepresentation(
+ self.settings["context"],
+ self.settings["context"].ContextIdentifier,
+ "SweptSolid",
+ [item],
+ )
+
def create_mesh_representation(self):
if self.file.schema == "IFC2X3" or self.settings["should_force_faceted_brep"]:
return self.create_faceted_brep()
diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/assign_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/assign_representation.py
index 1835bfbe39..2e09ed9586 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/geometry/assign_representation.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/assign_representation.py
@@ -35,4 +35,18 @@ class Usecase:
)
)
self.settings["product"].RepresentationMaps = maps
+ if self.file.schema == "IFC2X3":
+ types = self.settings["product"].ObjectTypeOf
+ else:
+ types = self.settings["product"].Types
+ if types:
+ for element in types[0].RelatedObjects:
+ mapped_representation = ifcopenshell.api.run(
+ "geometry.map_representation", self.file, **{"representation": self.settings["representation"]}
+ )
+ ifcopenshell.api.run(
+ "geometry.assign_representation",
+ self.file,
+ **{"product": element, "representation": mapped_representation}
+ )
ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": self.settings["product"]})
diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/data.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/data.py
index c72cc104cf..5a58b91eaa 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/geometry/data.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/data.py
@@ -14,11 +14,8 @@ class Data:
cls.products[product_id] = []
product = file.by_id(product_id)
representations = []
- if product.is_a("IfcProduct"):
- if product.Representation:
- representations = product.Representation.Representations
- else:
- representations = []
+ if product.is_a("IfcProduct") and product.Representation:
+ representations = product.Representation.Representations
elif product.is_a("IfcTypeProduct"):
representations = [rm.MappedRepresentation for rm in product.RepresentationMaps or []]
for representation in representations:
diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py
index 1a5f205956..3dbe7230cc 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py
@@ -33,6 +33,15 @@ class Usecase:
elif hasattr(self.settings["product"], "Decomposes") and self.settings["product"].Decomposes:
relating_object = self.settings["product"].Decomposes[0].RelatingObject
placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
+ elif hasattr(self.settings["product"], "VoidsElements") and self.settings["product"].VoidsElements:
+ relating_object = self.settings["product"].VoidsElements[0].RelatingBuildingElement
+ placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
+ elif hasattr(self.settings["product"], "FillsVoids") and self.settings["product"].FillsVoids:
+ relating_object = self.settings["product"].FillsVoids[0].RelatingOpeningElement
+ placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
+ elif hasattr(self.settings["product"], "ProjectsElements") and self.settings["product"].ProjectsElements:
+ relating_object = self.settings["product"].ProjectsElements[0].RelatingElement
+ placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
placement = self.file.createIfcLocalPlacement(placement_rel_to, self.get_relative_placement(placement_rel_to))
if self.settings["product"].ObjectPlacement:
diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py
index cad9044db3..2959e14473 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py
@@ -14,12 +14,12 @@ class Usecase:
return self.remove_entire_representation_tree()
def remove_mapped_representation_portion_only(self):
- dummy_context = self.file.create_entity("IfcRepresentationContext")
- dummy_representation_map = self.file.createIfcRepresentationMap()
- self.settings["representation"].ContextOfItems = dummy_context
for item in self.settings["representation"].Items:
- item.MappingSource = dummy_representation_map
- ifcopenshell.util.element.remove_deep(self.file, self.settings["representation"])
+ if len(self.file.get_inverse(item.MappingTarget)) == 1:
+ ifcopenshell.util.element.remove_deep(self.file, item.MappingTarget)
+ self.file.remove(item.MappingTarget)
+ self.file.remove(item)
+ self.file.remove(self.settings["representation"])
def remove_entire_representation_tree(self):
dummy_context = self.file.create_entity("IfcRepresentationContext")
diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/unassign_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/unassign_representation.py
index 579b0c0a7c..185fda0a01 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/geometry/unassign_representation.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/unassign_representation.py
@@ -53,4 +53,4 @@ class Usecase:
for item in mapped_representations:
self.unassign_product_representation(item["product"], item["representation"])
for representation in just_representations:
- ifcopenshell.api.run("owner.remove_representation", self.file, **{"representation": representation})
+ ifcopenshell.api.run("geometry.remove_representation", self.file, **{"representation": representation})
diff --git a/src/ifcopenshell-python/ifcopenshell/api/grid/create_axis_curve.py b/src/ifcopenshell-python/ifcopenshell/api/grid/create_axis_curve.py
index 9de1815b3e..be4283e1a4 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/grid/create_axis_curve.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/grid/create_axis_curve.py
@@ -8,22 +8,24 @@ class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
- "AxisCurve": None, # A Blender object
+ "axis_curve": None, # A Blender object
"grid_axis": None,
}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- if self.settings["grid_axis"].AxisCurve:
- ifcopenshell.util.element.remove_deep(self.file, self.settings["grid_axis"].AxisCurve)
+ existing_curve = self.settings["grid_axis"].AxisCurve
+ if existing_curve and len(self.file.get_inverse(existing_curve)) == 1:
+ ifcopenshell.util.element.remove_deep(self.file, existing_curve)
+ self.file.remove(existing_curve)
self.settings["unit_scale"] = ifcopenshell.util.unit.calculate_unit_scale(self.file)
grid = [i for i in self.file.get_inverse(self.settings["grid_axis"]) if i.is_a("IfcGrid")][0]
points = [
Matrix(ifcopenshell.util.placement.get_local_placement(grid.ObjectPlacement)).inverted()
- @ (self.settings["AxisCurve"].matrix_world @ v.co)
- for v in self.settings["AxisCurve"].data.vertices[0:2]
+ @ (self.settings["axis_curve"].matrix_world @ v.co)
+ for v in self.settings["axis_curve"].data.vertices[0:2]
]
self.settings["grid_axis"].AxisCurve = self.file.createIfcPolyline(
[
diff --git a/src/ifcopenshell-python/ifcopenshell/api/grid/create_grid_axis.py b/src/ifcopenshell-python/ifcopenshell/api/grid/create_grid_axis.py
index 6a98a6fc59..c9817760b5 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/grid/create_grid_axis.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/grid/create_grid_axis.py
@@ -2,20 +2,20 @@ class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
- "AxisTag": "A",
- "SameSense": True,
- "UVWAxes": "UAxes", # Choose which axes
- "Grid": None,
+ "axis_tag": "A",
+ "same_sense": True,
+ "uvw_axes": "UAxes", # Choose which axes
+ "grid": None,
}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
element = self.file.create_entity("IfcGridAxis", **{
- "AxisTag": self.settings["AxisTag"],
- "SameSense": self.settings["SameSense"]
+ "axis_tag": self.settings["axis_tag"],
+ "SameSense": self.settings["same_sense"]
})
- axes = list(getattr(self.settings["Grid"], self.settings["UVWAxes"]) or [])
+ axes = list(getattr(self.settings["grid"], self.settings["uvw_axes"]) or [])
axes.append(element)
- setattr(self.settings["Grid"], self.settings["UVWAxes"], axes)
+ setattr(self.settings["grid"], self.settings["uvw_axes"], axes)
return element
diff --git a/src/ifcopenshell-python/ifcopenshell/api/grid/remove_grid_axis.py b/src/ifcopenshell-python/ifcopenshell/api/grid/remove_grid_axis.py
new file mode 100644
index 0000000000..689a236235
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/grid/remove_grid_axis.py
@@ -0,0 +1,15 @@
+import ifcopenshell.util.element
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"axis": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if len(self.file.get_inverse(self.settings["axis"].AxisCurve)) == 1:
+ ifcopenshell.util.element.remove_deep(self.file, self.settings["axis"].AxisCurve)
+ self.file.remove(self.settings["axis"].AxisCurve)
+ self.file.remove(self.settings["axis"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/add_material.py b/src/ifcopenshell-python/ifcopenshell/api/material/add_material.py
index 48ee7b4511..50927d3aa9 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/material/add_material.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/add_material.py
@@ -4,9 +4,9 @@ import ifcopenshell
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"Name": "Unnamed"}
+ self.settings = {"name": "Unnamed"}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- return self.file.create_entity("IfcMaterial", **{"Name": self.settings["Name"] or "Unnamed"})
+ return self.file.create_entity("IfcMaterial", **{"Name": self.settings["name"] or "Unnamed"})
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/add_profile.py b/src/ifcopenshell-python/ifcopenshell/api/material/add_profile.py
new file mode 100644
index 0000000000..c1b282720e
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/add_profile.py
@@ -0,0 +1,13 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"profile_set": None, "material": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ profiles = list(self.settings["profile_set"].MaterialProfiles or [])
+ profile = self.file.create_entity("IfcMaterialProfile", **{"Material": self.settings["material"]})
+ profiles.append(profile)
+ self.settings["profile_set"].MaterialProfiles = profiles
+ return profile
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py b/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py
index 8e7147ee67..2405d63f5a 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py
@@ -1,4 +1,7 @@
import ifcopenshell
+import ifcopenshell.api
+import ifcopenshell.util.element
+import ifcopenshell.util.representation
class Usecase:
@@ -9,6 +12,9 @@ class Usecase:
self.settings[key] = value
def execute(self):
+ material = ifcopenshell.util.element.get_material(self.settings["product"])
+ if material:
+ ifcopenshell.api.run("material.unassign_material", self.file, product=self.settings["product"])
if self.settings["type"] == "IfcMaterial":
self.assign_ifc_material()
elif self.settings["type"] == "IfcMaterialConstituentSet":
@@ -18,14 +24,32 @@ class Usecase:
material_set = self.file.create_entity(self.settings["type"])
self.create_material_association(material_set)
elif self.settings["type"] == "IfcMaterialLayerSetUsage":
- material_set = self.file.create_entity("IfcMaterialLayerSet")
+ element_type = ifcopenshell.util.element.get_type(self.settings["product"])
+ if element_type:
+ element_type_material = ifcopenshell.util.element.get_material(element_type)
+ if element_type_material and element_type_material.is_a("IfcMaterialLayerSet"):
+ material_set = element_type_material
+ else:
+ material_set = self.file.create_entity("IfcMaterialLayerSet")
+ else:
+ material_set = self.file.create_entity("IfcMaterialLayerSet")
material_set_usage = self.create_layer_set_usage(material_set)
self.create_material_association(material_set_usage)
elif self.settings["type"] == "IfcMaterialProfileSet":
material_set = self.file.create_entity(self.settings["type"])
self.create_material_association(material_set)
elif self.settings["type"] == "IfcMaterialProfileSetUsage":
- material_set = self.file.create_entity("IfcMaterialProfileSet")
+ element_type = ifcopenshell.util.element.get_type(self.settings["product"])
+ if element_type:
+ element_type_material = ifcopenshell.util.element.get_material(element_type)
+ if element_type_material and element_type_material.is_a("IfcMaterialProfileSet"):
+ material_set = element_type_material
+ else:
+ material_set = self.file.create_entity("IfcMaterialProfileSet")
+ else:
+ material_set = self.file.create_entity("IfcMaterialProfileSet")
+
+ self.update_representation_profile(material_set)
material_set_usage = self.create_profile_set_usage(material_set)
self.create_material_association(material_set_usage)
elif self.settings["type"] == "IfcMaterialList":
@@ -33,6 +57,21 @@ class Usecase:
material_set.Materials = [self.settings["material"]]
self.create_material_association(material_set)
+ def update_representation_profile(self, material_set):
+ profile = material_set.CompositeProfile
+ if not profile and material_set.MaterialProfiles:
+ profile = material_set.MaterialProfiles[0].Profile
+ if not profile:
+ return
+ representation = ifcopenshell.util.representation.get_representation(
+ self.settings["product"], "Model", "Body", "MODEL_VIEW"
+ )
+ if not representation:
+ return
+ for subelement in self.file.traverse(representation):
+ if subelement.is_a("IfcSweptAreaSolid"):
+ subelement.SweptArea = profile
+
def create_layer_set_usage(self, material_set):
return self.file.create_entity(
"IfcMaterialLayerSetUsage",
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/assign_profile.py b/src/ifcopenshell-python/ifcopenshell/api/material/assign_profile.py
new file mode 100644
index 0000000000..1592ec075c
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/assign_profile.py
@@ -0,0 +1,39 @@
+import ifcopenshell.util.representation
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"material_profile": None, "profile": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: handle composite profiles
+ old_profile = self.settings["material_profile"].Profile
+ self.settings["material_profile"].Profile = self.settings["profile"]
+ for profile_set in self.settings["material_profile"].ToMaterialProfileSet:
+ for inverse in self.file.get_inverse(profile_set):
+ if not inverse.is_a("IfcMaterialProfileSetUsage"):
+ continue
+ if self.file.schema == "IFC2X3":
+ for rel in self.file.get_inverse(inverse):
+ if not rel.is_a("IfcRelAssociatesMaterial"):
+ continue
+ for element in rel.RelatedObjects:
+ self.change_profile(element)
+ else:
+ for rel in inverse.AssociatedTo:
+ for element in rel.RelatedObjects:
+ self.change_profile(element)
+
+ if old_profile and len(self.file.get_inverse(old_profile)) == 0:
+ self.file.remove(old_profile)
+
+ def change_profile(self, element):
+ representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW")
+ if not representation:
+ return
+ for subelement in self.file.traverse(representation):
+ if subelement.is_a("IfcSweptAreaSolid"):
+ subelement.SweptArea = self.settings["profile"]
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/edit_profile_usage.py b/src/ifcopenshell-python/ifcopenshell/api/material/edit_profile_usage.py
new file mode 100644
index 0000000000..2c2039e2ce
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/edit_profile_usage.py
@@ -0,0 +1,146 @@
+import ifcopenshell.geom
+import ifcopenshell.util.representation
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"usage": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.cardinal_point = self.settings["attributes"].get("CardinalPoint")
+ if self.cardinal_point and self.cardinal_point != self.settings["usage"].CardinalPoint:
+ self.update_cardinal_point()
+
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["usage"], name, value)
+
+ def update_cardinal_point(self):
+ material_set = self.settings["usage"].ForProfileSet
+ self.profile = material_set.CompositeProfile
+ if not self.profile and material_set.MaterialProfiles:
+ self.profile = material_set.MaterialProfiles[0].Profile
+ if not self.profile:
+ return
+
+ self.position = self.calculate_position()
+
+ if self.file.schema == "IFC2X3":
+ for rel in self.file.get_inverse(self.settings["usage"]):
+ if not rel.is_a("IfcRelAssociatesMaterial"):
+ continue
+ for element in rel.RelatedObjects:
+ self.update_representation(element)
+ else:
+ for rel in self.settings["usage"].AssociatedTo:
+ for element in rel.RelatedObjects:
+ self.update_representation(element)
+
+ def calculate_position(self):
+ self.dummy = ifcopenshell.file(schema=self.file.schema)
+ dummy_profile = self.dummy.add(self.profile)
+ # We clear all radiuses so that we can calculate geometric centroid easily
+ for i, attribute in enumerate(dummy_profile):
+ name = dummy_profile.attribute_name(i)
+ if "Radius" in name and name != "RoundingRadius":
+ dummy_profile[i] = None
+ dummy_solid = self.dummy.create_entity("IfcExtrudedAreaSolid", **{
+ "SweptArea": dummy_profile,
+ "ExtrudedDirection": self.dummy.createIfcDirection((0., 0., 1.)),
+ "Depth": 1
+ })
+ self.settings_2d = ifcopenshell.geom.settings()
+ self.settings_2d.set(self.settings_2d.INCLUDE_CURVES, True)
+ shape = ifcopenshell.geom.create_shape(self.settings_2d, dummy_solid)
+
+ if self.cardinal_point == 1:
+ return self.get_bottom_left(shape)
+ elif self.cardinal_point == 2:
+ return self.get_bottom_centre(shape)
+ elif self.cardinal_point == 3:
+ return self.get_bottom_right(shape)
+ elif self.cardinal_point == 4:
+ return self.get_mid_depth_left(shape)
+ elif self.cardinal_point == 5:
+ return self.get_mid_depth_centre(shape)
+ elif self.cardinal_point == 6:
+ return self.get_mid_depth_right(shape)
+ elif self.cardinal_point == 7:
+ return self.get_top_left(shape)
+ elif self.cardinal_point == 8:
+ return self.get_top_centre(shape)
+ elif self.cardinal_point == 9:
+ return self.get_top_right(shape)
+
+ def get_bottom_left(self, shape):
+ v = shape.verts
+ x = [v[i] for i in range(0, len(v), 3)]
+ y = [v[i+1] for i in range(0, len(v), 3)]
+ width = max(x) - min(x)
+ height = max(y) - min(y)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((-width/2, height/2, 0.)))
+
+ def get_bottom_centre(self, shape):
+ v = shape.verts
+ y = [v[i+1] for i in range(0, len(v), 3)]
+ height = max(y) - min(y)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((0., height/2, 0.)))
+
+ def get_bottom_right(self, shape):
+ v = shape.verts
+ x = [v[i] for i in range(0, len(v), 3)]
+ y = [v[i+1] for i in range(0, len(v), 3)]
+ width = max(x) - min(x)
+ height = max(y) - min(y)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((width/2, height/2, 0.)))
+
+ def get_mid_depth_left(self, shape):
+ v = shape.verts
+ x = [v[i] for i in range(0, len(v), 3)]
+ width = max(x) - min(x)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((-width/2, 0., 0.)))
+
+ def get_mid_depth_centre(self, shape):
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((0., 0., 0.)))
+
+ def get_mid_depth_right(self, shape):
+ v = shape.verts
+ x = [v[i] for i in range(0, len(v), 3)]
+ width = max(x) - min(x)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((width/2, 0., 0.)))
+
+ def get_top_left(self, shape):
+ v = shape.verts
+ x = [v[i] for i in range(0, len(v), 3)]
+ y = [v[i+1] for i in range(0, len(v), 3)]
+ width = max(x) - min(x)
+ height = max(y) - min(y)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((-width/2, -height/2, 0.)))
+
+ def get_top_centre(self, shape):
+ v = shape.verts
+ y = [v[i+1] for i in range(0, len(v), 3)]
+ height = max(y) - min(y)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((0., -height/2, 0.)))
+
+ def get_top_right(self, shape):
+ v = shape.verts
+ x = [v[i] for i in range(0, len(v), 3)]
+ y = [v[i+1] for i in range(0, len(v), 3)]
+ width = max(x) - min(x)
+ height = max(y) - min(y)
+ return self.file.createIfcAxis2Placement3D(self.file.createIfcCartesianPoint((width/2, -height/2, 0.)))
+
+ def update_representation(self, element):
+ representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW")
+ if not representation:
+ return
+
+ for subelement in self.file.traverse(representation):
+ if subelement.is_a("IfcSweptAreaSolid") and subelement.SweptArea == self.profile:
+ self.update_swept_area_solid(subelement)
+
+ def update_swept_area_solid(self, element):
+ element.Position = self.position
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/remove_profile.py b/src/ifcopenshell-python/ifcopenshell/api/material/remove_profile.py
new file mode 100644
index 0000000000..33b00ce347
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/remove_profile.py
@@ -0,0 +1,9 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"profile": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.file.remove(self.settings["profile"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/unassign_material.py b/src/ifcopenshell-python/ifcopenshell/api/material/unassign_material.py
index 8a6fad3b53..09c625a900 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/material/unassign_material.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/material/unassign_material.py
@@ -9,6 +9,15 @@ class Usecase:
self.settings[key] = value
def execute(self):
- for association in self.settings["product"].HasAssociations:
- if association.is_a("IfcRelAssociatesMaterial"):
- self.file.remove(association)
+ for rel in self.settings["product"].HasAssociations:
+ if rel.is_a("IfcRelAssociatesMaterial"):
+ if rel.RelatingMaterial.is_a("IfcMaterialLayerSetUsage") or rel.RelatingMaterial.is_a(
+ "IfcMaterialProfileSetUsage"
+ ):
+ self.file.remove(rel.RelatingMaterial)
+ if len(rel.RelatedObjects) == 1:
+ self.file.remove(rel)
+ continue
+ related_objects = set(rel.RelatedObjects)
+ related_objects.remove(self.settings["product"])
+ rel.RelatedObjects = list(related_objects)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/nest/assign_object.py b/src/ifcopenshell-python/ifcopenshell/api/nest/assign_object.py
new file mode 100644
index 0000000000..f0d79efaf9
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/nest/assign_object.py
@@ -0,0 +1,53 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "related_object": None,
+ "relating_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ nests = None
+ if self.settings["related_object"].Nests:
+ nests = self.settings["related_object"].Nests[0]
+
+ is_nested_by = None
+ for rel in self.settings["relating_object"].IsNestedBy:
+ if rel.is_a("IfcRelNests"):
+ is_nested_by = rel
+ break
+
+ if nests and nests == is_nested_by:
+ return
+
+ if nests:
+ related_objects = list(nests.RelatedObjects)
+ related_objects.remove(self.settings["related_object"])
+ if related_objects:
+ nests.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": nests})
+ else:
+ self.file.remove(nests)
+
+ if is_nested_by:
+ related_objects = list(is_nested_by.RelatedObjects)
+ related_objects.append(self.settings["related_object"])
+ is_nested_by.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": is_nested_by})
+ else:
+ is_nested_by = self.file.create_entity(
+ "IfcRelNests",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [self.settings["related_object"]],
+ "RelatingObject": self.settings["relating_object"],
+ }
+ )
+ return is_nested_by
diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/add_application.py b/src/ifcopenshell-python/ifcopenshell/api/owner/add_application.py
new file mode 100644
index 0000000000..e1a9b1dd8f
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/owner/add_application.py
@@ -0,0 +1,68 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "application_developer": None,
+ "version": "0.6.0",
+ "application_full_name": "IfcOpenShell",
+ "application_identifier": "IfcOpenShell",
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if not self.settings["application_developer"]:
+ self.settings["application_developer"] = self.create_application_organisation()
+ return self.file.create_entity(
+ "IfcApplication",
+ **{
+ "ApplicationDeveloper": self.settings["application_developer"],
+ "Version": self.settings["version"],
+ "ApplicationFullName": self.settings["application_full_name"],
+ "ApplicationIdentifier": self.settings["application_identifier"],
+ },
+ )
+
+ def create_application_organisation(self):
+ return self.file.create_entity(
+ "IfcOrganization",
+ **{
+ "Name": "IfcOpenShell",
+ "Description": "IfcOpenShell is an open source (LGPL) software library that helps users and software developers to work with the IFC file format.",
+ "Roles": [
+ self.file.create_entity("IfcActorRole", **{"Role": "USERDEFINED", "UserDefinedRole": "CONTRIBUTOR"})
+ ],
+ "Addresses": [
+ self.file.create_entity(
+ "IfcTelecomAddress",
+ **{
+ "Purpose": "USERDEFINED",
+ "UserDefinedPurpose": "WEBPAGE",
+ "Description": "The main webpage of the software collection.",
+ "WWWHomePageURL": "https://ifcopenshell.org",
+ },
+ ),
+ self.file.create_entity(
+ "IfcTelecomAddress",
+ **{
+ "Purpose": "USERDEFINED",
+ "UserDefinedPurpose": "WEBPAGE",
+ "Description": "The BlenderBIM Add-on webpage of the software collection.",
+ "WWWHomePageURL": "https://blenderbim.org",
+ },
+ ),
+ self.file.create_entity(
+ "IfcTelecomAddress",
+ **{
+ "Purpose": "USERDEFINED",
+ "UserDefinedPurpose": "REPOSITORY",
+ "Description": "The source code repository of the software collection.",
+ "WWWHomePageURL": "https://github.com/IfcOpenShell/IfcOpenShell.git",
+ },
+ ),
+ ],
+ },
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/add_organisation.py b/src/ifcopenshell-python/ifcopenshell/api/owner/add_organisation.py
index 8e5583f0c3..a11e626f9c 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/owner/add_organisation.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/owner/add_organisation.py
@@ -2,14 +2,16 @@ class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
- "Identification": "APTR",
- "Name": "Aperture Science",
+ "identification": "APTR",
+ "name": "Aperture Science",
}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- if self.file.schema == "IFC2X3":
- self.settings["Id"] = self.settings["Identification"]
- del self.settings["Identification"]
- return self.file.create_entity("IfcOrganization", **self.settings)
\ No newline at end of file
+ data = {"Name": self.settings["name"]}
+ if self.file.schema == "IFC2X3":
+ data["Id"] = self.settings["identification"]
+ else:
+ data["Identification"] = self.settings["identification"]
+ return self.file.create_entity("IfcOrganization", **data)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/add_person.py b/src/ifcopenshell-python/ifcopenshell/api/owner/add_person.py
index d19e98adfe..9142ace85d 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/owner/add_person.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/owner/add_person.py
@@ -2,15 +2,17 @@ class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
- "Identification": "HSeldon",
- "FamilyName": "Seldon",
- "GivenName": "Hari",
+ "identification": "HSeldon",
+ "family_name": "Seldon",
+ "given_name": "Hari",
}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- if self.file.schema == "IFC2X3":
- self.settings["Id"] = self.settings["Identification"]
- del self.settings["Identification"]
- return self.file.create_entity("IfcPerson", **self.settings)
\ No newline at end of file
+ data = {"FamilyName": self.settings["family_name"], "GivenName": self.settings["given_name"]}
+ if self.file.schema == "IFC2X3":
+ data["Id"] = self.settings["identification"]
+ else:
+ data["Identification"] = self.settings["identification"]
+ return self.file.create_entity("IfcPerson", **data)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/create_owner_history.py b/src/ifcopenshell-python/ifcopenshell/api/owner/create_owner_history.py
index fb5561390a..ad99aa9077 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/owner/create_owner_history.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/owner/create_owner_history.py
@@ -13,11 +13,11 @@ class Usecase:
def execute(self):
self.settings["person"] = ifcopenshell.api.owner.settings.get_person(self.file)
self.settings["organisation"] = ifcopenshell.api.owner.settings.get_organisation(self.file)
+ application = ifcopenshell.api.owner.settings.get_application(self.file)
if self.file.schema != "IFC2X3":
- if not self.settings["person"] or not self.settings["organisation"]:
+ if not self.settings["person"] or not self.settings["organisation"] or not application:
return
user = self.get_user()
- application = ifcopenshell.api.owner.settings.get_application(self.file)
return self.file.create_entity(
"IfcOwnerHistory",
**{
diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/settings.py b/src/ifcopenshell-python/ifcopenshell/api/owner/settings.py
index f87f34a3aa..92ff983ad0 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/owner/settings.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/owner/settings.py
@@ -1,10 +1,16 @@
+# Note: it is the intent for you to override these with your own functions
+
+
def get_person(ifc):
- pass
+ people = ifc.by_type("IfcPerson") or [None]
+ return people [0]
def get_organisation(ifc):
- pass
+ organisations = ifc.by_type("IfcOrganization") or [None]
+ return organisations[0]
def get_application(ifc):
- pass
+ applications = ifc.by_type("IfcApplication") or [None]
+ return applications[0]
diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/update_owner_history.py b/src/ifcopenshell-python/ifcopenshell/api/owner/update_owner_history.py
index 79e9283947..f6354abe2f 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/owner/update_owner_history.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/owner/update_owner_history.py
@@ -11,6 +11,8 @@ class Usecase:
self.settings[key] = value
def execute(self):
+ if not hasattr(self.settings["element"], "OwnerHistory"):
+ return
self.settings["person"] = ifcopenshell.api.owner.settings.get_person(self.file)
self.settings["organisation"] = ifcopenshell.api.owner.settings.get_organisation(self.file)
if not self.settings["element"].OwnerHistory:
diff --git a/src/ifcopenshell-python/ifcopenshell/api/profile/add_parameterized_profile.py b/src/ifcopenshell-python/ifcopenshell/api/profile/add_parameterized_profile.py
new file mode 100644
index 0000000000..39abc879e8
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/profile/add_parameterized_profile.py
@@ -0,0 +1,9 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"ifc_class": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ return self.file.create_entity(self.settings["ifc_class"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/profile/data.py b/src/ifcopenshell-python/ifcopenshell/api/profile/data.py
new file mode 100644
index 0000000000..99b96a13e9
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/profile/data.py
@@ -0,0 +1,17 @@
+class Data:
+ is_loaded = False
+ profiles = {}
+
+ @classmethod
+ def purge(cls):
+ cls.is_loaded = False
+ cls.profiles = {}
+
+ @classmethod
+ def load(cls, file):
+ if not file:
+ return
+ cls.profiles = {}
+ for profile in file.by_type("IfcProfileDef"):
+ cls.profiles[profile.id()] = profile.get_info()
+ cls.is_loaded = True
diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py b/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py
new file mode 100644
index 0000000000..76c2bd7e81
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py
@@ -0,0 +1,82 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"library": None, "element": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.added_elements = set()
+ if self.settings["element"].is_a("IfcTypeProduct"):
+ return self.append_type_product()
+
+ def append_type_product(self):
+ self.whitelisted_inverse_attributes = {
+ "IfcObjectDefinition": ["HasAssociations"],
+ "IfcMaterialDefinition": ["HasExternalReferences", "HasProperties"],
+ "IfcRepresentationItem": ["StyledByItem"],
+ }
+ element = self.add_element(self.settings["element"])
+ self.existing_contexts = self.file.by_type("IfcGeometricRepresentationContext")
+ added_contexts = [e for e in self.file.traverse(element) if e.is_a("IfcGeometricRepresentationContext")]
+ for added_context in added_contexts:
+ equivalent_existing_context = self.get_equivalent_existing_context(added_context)
+ if not equivalent_existing_context:
+ equivalent_existing_context = self.create_equivalent_context(added_context)
+ for inverse in self.file.get_inverse(added_context):
+ ifcopenshell.util.element.replace_attribute(inverse, added_context, equivalent_existing_context)
+ for added_context in added_contexts:
+ if added_context.is_a() == "IfcGeometricRepresentationContext":
+ ifcopenshell.util.element.remove_deep(self.file, added_context)
+ return element
+
+ def add_element(self, element):
+ if element.id() == 0 or element.id() in self.added_elements:
+ return
+ new = self.file.add(element)
+ self.added_elements.add(element.id())
+ self.add_inverse(element)
+ for subelement in self.settings["library"].traverse(element):
+ self.add_inverse(subelement)
+ return new
+
+ def add_inverse(self, element):
+ inverse_attributes = []
+ [inverse_attributes.extend(v) for k, v in self.whitelisted_inverse_attributes.items() if element.is_a(k)]
+ inverse_attributes = set(inverse_attributes)
+ for attribute in inverse_attributes:
+ for inverse in getattr(element, attribute, []):
+ self.add_element(inverse)
+
+ def get_equivalent_existing_context(self, added_context):
+ for context in self.existing_contexts:
+ if context.is_a() != added_context.is_a():
+ continue
+ if context.is_a("IfcGeometricRepresentationSubContext"):
+ if (
+ context.ContextType == added_context.ContextType
+ and context.ContextIdentifier == added_context.ContextIdentifier
+ and context.TargetView == added_context.TargetView
+ ):
+ return context
+ elif (
+ context.ContextType == added_context.ContextType
+ and context.ContextIdentifier == added_context.ContextIdentifier
+ ):
+ return context
+
+ def create_equivalent_context(self, added_context):
+ if added_context.is_a("IfcGeometricRepresentationSubContext"):
+ return ifcopenshell.api.run(
+ "context.add_context",
+ context=added_context.ContextType,
+ subcontext=added_context.ContextIdentifier,
+ target_view=added_context.TargetView,
+ )
+ return ifcopenshell.api.run(
+ "context.add_context", context=added_context.ContextType, subcontext=added_context.ContextIdentifier
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/assign_declaration.py b/src/ifcopenshell-python/ifcopenshell/api/project/assign_declaration.py
new file mode 100644
index 0000000000..ec476df3f2
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/project/assign_declaration.py
@@ -0,0 +1,51 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "definition": None,
+ "relating_context": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ declares = None
+ if self.settings["relating_context"].Declares:
+ declares = self.settings["relating_context"].Declares[0]
+
+ has_context = None
+ if self.settings["definition"].HasContext:
+ has_context = self.settings["definition"].HasContext[0]
+
+ if has_context and has_context == declares:
+ return
+
+ if has_context:
+ related_definitions = list(has_context.RelatedDefinitions)
+ related_definitions.remove(self.settings["definition"])
+ if related_definitions:
+ has_context.RelatedDefinitions = related_definitions
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": has_context})
+ else:
+ self.file.remove(has_context)
+
+ if declares:
+ related_definitions = set(declares.RelatedDefinitions)
+ related_definitions.add(self.settings["definition"])
+ declares.RelatedDefinitions = list(related_definitions)
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": declares})
+ else:
+ declares = self.file.create_entity(
+ "IfcRelDeclares",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedDefinitions": [self.settings["definition"]],
+ "RelatingContext": self.settings["relating_context"],
+ }
+ )
+ return declares
diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/create_file.py b/src/ifcopenshell-python/ifcopenshell/api/project/create_file.py
index 9e4fd31796..a353db9d51 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/project/create_file.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/project/create_file.py
@@ -22,4 +22,5 @@ class Usecase:
self.file.wrapped_data.header.file_name.preprocessor_version = "IfcOpenShell {}".format(ifcopenshell.version)
self.file.wrapped_data.header.file_name.originating_system = "IfcOpenShell {}".format(ifcopenshell.version)
self.file.wrapped_data.header.file_name.authorization = "Nobody"
+ self.file.wrapped_data.header.file_description.description = ('ViewDefinition[DesignTransferView]',)
return self.file
diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/unassign_declaration.py b/src/ifcopenshell-python/ifcopenshell/api/project/unassign_declaration.py
new file mode 100644
index 0000000000..78d4e31cfb
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/project/unassign_declaration.py
@@ -0,0 +1,25 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "definition": None,
+ "relating_context": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if not self.settings["definition"].HasContext:
+ return
+ rel = self.settings["definition"].HasContext[0]
+ related_definitions = set(rel.RelatedDefinitions) or set()
+ related_definitions.remove(self.settings["definition"])
+ if len(related_definitions):
+ rel.RelatedDefinitions = list(related_definitions)
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
+ else:
+ self.file.remove(rel)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/add_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/add_pset.py
index 47e2fd31a4..1ad8f0cdd0 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/pset/add_pset.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/pset/add_pset.py
@@ -4,36 +4,63 @@ import ifcopenshell
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"product": None, "Name": None}
+ self.settings = {"product": None, "name": None}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
if self.settings["product"].is_a("IfcObject"):
+ for rel in self.settings["product"].IsDefinedBy or []:
+ if (
+ rel.is_a("IfcRelDefinesByProperties")
+ and rel.RelatingPropertyDefinition.Name == self.settings["name"]
+ ):
+ return rel.RelatingPropertyDefinition
+
pset = self.file.create_entity(
- "IfcPropertySet", **{"GlobalId": ifcopenshell.guid.new(), "Name": self.settings["Name"]}
+ "IfcPropertySet",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "Name": self.settings["name"],
+ }
)
self.file.create_entity(
"IfcRelDefinesByProperties",
**{
"GlobalId": ifcopenshell.guid.new(),
- # TODO: owner history
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
"RelatedObjects": [self.settings["product"]],
"RelatingPropertyDefinition": pset,
}
)
+ return pset
elif self.settings["product"].is_a("IfcTypeObject"):
+ for definition in self.settings["product"].HasPropertySets or []:
+ if definition.Name == self.settings["name"]:
+ return definition
+
pset = self.file.create_entity(
- "IfcPropertySet", **{"GlobalId": ifcopenshell.guid.new(), "Name": self.settings["Name"]}
+ "IfcPropertySet",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "Name": self.settings["name"],
+ }
)
has_property_sets = list(self.settings["product"].HasPropertySets or [])
has_property_sets.append(pset)
self.settings["product"].HasPropertySets = has_property_sets
+ return pset
elif self.settings["product"].is_a("IfcMaterialDefinition"):
- pset = self.file.create_entity(
+ for definition in self.settings["product"].HasProperties or []:
+ if definition.Name == self.settings["name"]:
+ return definition
+
+ return self.file.create_entity(
"IfcMaterialProperties",
**{
- "Name": self.settings["Name"],
+ "Name": self.settings["name"],
"Material": self.settings["product"],
}
)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/add_qto.py b/src/ifcopenshell-python/ifcopenshell/api/pset/add_qto.py
index d176e011c9..0bf98d7184 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/pset/add_qto.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/pset/add_qto.py
@@ -1,24 +1,38 @@
import ifcopenshell
+import ifcopenshell.api
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"product": None, "Name": None}
+ self.settings = {"product": None, "name": None}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
if self.settings["product"].is_a("IfcObject"):
+ for rel in self.settings["product"].IsDefinedBy or []:
+ if (
+ rel.is_a("IfcRelDefinesByProperties")
+ and rel.RelatingPropertyDefinition.Name == self.settings["name"]
+ ):
+ return rel.RelatingPropertyDefinition
+
qto = self.file.create_entity(
- "IfcElementQuantity", **{"GlobalId": ifcopenshell.guid.new(), "Name": self.settings["Name"]}
+ "IfcElementQuantity",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "Name": self.settings["name"],
+ }
)
self.file.create_entity(
"IfcRelDefinesByProperties",
**{
"GlobalId": ifcopenshell.guid.new(),
- # TODO: owner history
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
"RelatedObjects": [self.settings["product"]],
"RelatingPropertyDefinition": qto,
}
)
+ return qto
diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/data.py b/src/ifcopenshell-python/ifcopenshell/api/pset/data.py
index d76a350360..0ea2bc6f21 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/pset/data.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/pset/data.py
@@ -7,18 +7,17 @@ class Data:
products = {}
psets = {}
qtos = {}
+ properties = {}
@classmethod
def purge(cls):
cls.products = {}
cls.psets = {}
cls.qtos = {}
+ cls.properties = {}
@classmethod
def load(cls, file, product_id):
- cls._file = file
- cls._psetqto = ifcopenshell.util.pset.get_template("IFC4")
- cls._schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(file.schema)
if not file:
return
product = file.by_id(product_id)
@@ -59,133 +58,48 @@ class Data:
@classmethod
def add_pset(cls, pset, product_id):
- new_pset = {
- "Name": pset.Name,
- "is_expanded": True,
- "Properties": cls.get_properties_from_template(pset.Name) or [],
- }
- cls.products[product_id]["psets"].add(int(pset.id()))
- cls.psets[int(pset.id())] = new_pset
- try:
- if hasattr(pset, "HasProperties"):
- props = pset.HasProperties
- elif hasattr(pset, "Properties"): # For IfcMaterialProperties
- props = pset.Properties
- except:
- return # I've seen ArchiCAD produce invalid IFCs with empty data
- # Invalid IFC, but some vendors like Solidworks do this so we accomodate it
- if not props:
- return
+ data = pset.get_info()
+ if not pset.is_a("IfcMaterialProperties"):
+ del data["OwnerHistory"]
+ del data["HasProperties"]
+ if hasattr(pset, "HasProperties"):
+ props = pset.HasProperties or []
+ elif hasattr(pset, "Properties"):
+ props = pset.Properties or []
+ # TODO: support more than single values
+ data["Properties"] = [p.id() for p in props if p.is_a("IfcPropertySingleValue")]
+ cls.psets[pset.id()] = data
+ cls.products[product_id]["psets"].add(pset.id())
for prop in props:
- if prop.is_a("IfcPropertySingleValue") and prop.NominalValue:
- has_existing_prop = False
- for existing_prop in new_pset["Properties"]:
- if existing_prop["Name"] == prop.Name:
- if prop.NominalValue is None:
- existing_prop["value"] = None
- elif existing_prop["type"] == "string":
- existing_prop["value"] = str(prop.NominalValue.wrappedValue)
- elif existing_prop["type"] == "float":
- existing_prop["value"] = float(prop.NominalValue.wrappedValue)
- elif existing_prop["type"] == "integer":
- existing_prop["value"] = int(prop.NominalValue.wrappedValue)
- elif existing_prop["type"] == "boolean":
- existing_prop["value"] = bool(prop.NominalValue.wrappedValue)
- elif existing_prop["type"] == "enum":
- existing_prop["value"] = str(prop.NominalValue.wrappedValue)
- existing_prop["is_null"] = prop.NominalValue.wrappedValue is None
- has_existing_prop = True
- break
- if not has_existing_prop:
- value = prop.NominalValue.wrappedValue
- if isinstance(value, str):
- data_type = "string"
- elif isinstance(value, float):
- data_type = "float"
- elif isinstance(value, bool):
- data_type = "boolean"
- elif isinstance(value, int):
- data_type = "integer"
- else:
- data_type = "string"
- value = str(value)
- new_pset["Properties"].append(
- {
- "Name": prop.Name,
- "value": value,
- "type": data_type,
- "enum_items": [],
- "is_null": prop.NominalValue.wrappedValue is None,
- }
- )
+ # TODO: support more than single values
+ if prop.is_a("IfcPropertySingleValue"):
+ cls.load_prop(prop)
+
+ @classmethod
+ def load_prop(cls, prop):
+ data = prop.get_info()
+ if prop.is_a("IfcProperty"):
+ # TODO: support units
+ del data["Unit"]
+ if prop.NominalValue is not None:
+ data["NominalValue"] = prop.NominalValue.wrappedValue
+ elif prop.is_a("IfcPhysicalQuantity"):
+ # TODO: support units
+ del data["Unit"]
+ # For convenience, which trumps correctness in this case
+ data["NominalValue"] = prop[3]
+ cls.properties[prop.id()] = data
@classmethod
def add_qto(cls, qto, product_id):
- new_qto = {
- "Name": qto.Name,
- "is_expanded": True,
- "Properties": cls.get_properties_from_template(qto.Name) or [],
- }
- cls.products[product_id]["qtos"].add(int(qto.id()))
- cls.qtos[int(qto.id())] = new_qto
- for prop in qto.Quantities or []:
- if prop.is_a("IfcPhysicalSimpleQuantity"):
- value = prop[3]
- has_existing_prop = False
- for existing_prop in new_qto["Properties"]:
- if existing_prop["Name"] == prop.Name:
- existing_prop["value"] = float(value)
- existing_prop["is_null"] = value is None
- has_existing_prop = True
- break
- if not has_existing_prop:
- new_qto["Properties"].append(
- {
- "Name": prop.Name,
- "value": float(value),
- "type": "float",
- "enum_items": [],
- "is_null": value is None,
- }
- )
-
- @classmethod
- def get_properties_from_template(cls, name):
- template = cls._psetqto.get_by_name(name)
- if not template:
- return
- properties = []
- for prop_template in template.HasPropertyTemplates:
- if not prop_template.is_a("IfcSimplePropertyTemplate"):
- continue # Other types not yet supported
- enum_items = []
-
- if prop_template.TemplateType == "P_SINGLEVALUE":
- try:
- data_type = ifcopenshell.util.attribute.get_primitive_type(
- cls._schema.declaration_by_name(prop_template.PrimaryMeasureType or "IfcLabel")
- )
- except:
- # TODO: Occurs if the data type is something that exists in IFC4 and not in IFC2X3. To fully fix
- # this we need to generate the IFC2X3 pset template definitions.
- continue
- elif prop_template.TemplateType == "P_ENUMERATEDVALUE":
- data_type = "enum"
- enum_items = [v.wrappedValue for v in prop_template.Enumerators.EnumerationValues]
- elif prop_template.TemplateType in ["Q_LENGTH", "Q_AREA", "Q_VOLUME", "Q_WEIGHT", "Q_TIME"]:
- data_type = "float"
- elif prop_template.TemplateType == "Q_COUNT":
- data_type = "integer"
- else:
- continue # Other types not yet supported
-
- properties.append(
- {
- "Name": prop_template.Name,
- "value": None,
- "type": data_type,
- "enum_items": enum_items,
- "is_null": True,
- }
- )
- return properties
+ data = qto.get_info()
+ del data["OwnerHistory"]
+ del data["Quantities"]
+ # TODO: support more than just simple quantities
+ # We call it properties for convenience, not for correctness
+ data["Properties"] = [q.id() for q in qto.Quantities or [] if q.is_a("IfcPhysicalSimpleQuantity")]
+ cls.qtos[qto.id()] = data
+ cls.products[product_id]["qtos"].add(qto.id())
+ for quantity in qto.Quantities or []:
+ if quantity.is_a("IfcPhysicalSimpleQuantity"):
+ cls.load_prop(quantity)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py
index adf235b046..7507708917 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py
@@ -1,10 +1,11 @@
import ifcopenshell
+import ifcopenshell.util.pset
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"pset": None, "Name": None, "Properties": {}}
+ self.settings = {"pset": None, "name": None, "properties": {}}
for key, value in settings.items():
self.settings[key] = value
@@ -16,8 +17,8 @@ class Usecase:
self.extend_pset_with_new_properties(new_properties)
def update_pset_name(self):
- if self.settings["Name"]:
- self.settings["pset"].Name = self.settings["Name"]
+ if self.settings["name"]:
+ self.settings["pset"].Name = self.settings["name"]
def load_pset_template(self):
# TODO: add IFC2X3 PsetQto template support
@@ -29,19 +30,19 @@ class Usecase:
self.update_existing_property(prop)
def update_existing_property(self, prop):
- if prop.Name not in self.settings["Properties"]:
+ if prop.Name not in self.settings["properties"]:
return
- value = self.settings["Properties"][prop.Name]
+ value = self.settings["properties"][prop.Name]
if value is None:
prop.NominalValue = None
else:
primary_measure_type = self.get_primary_measure_type(prop.Name, previous_value=prop.NominalValue)
prop.NominalValue = self.file.create_entity(primary_measure_type, value)
- del self.settings["Properties"][prop.Name]
+ del self.settings["properties"][prop.Name]
def add_new_properties(self):
properties = []
- for name, value in self.settings["Properties"].items():
+ for name, value in self.settings["properties"].items():
if value is None:
continue
primary_measure_type = self.get_primary_measure_type(name)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_qto.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_qto.py
index 67650ef10b..7168fb02f6 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_qto.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_qto.py
@@ -4,7 +4,7 @@ import ifcopenshell
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"qto": None, "Name": None, "Properties": {}}
+ self.settings = {"qto": None, "name": None, "properties": {}}
for key, value in settings.items():
self.settings[key] = value
@@ -16,8 +16,8 @@ class Usecase:
self.extend_qto_with_new_properties(new_properties)
def update_qto_name(self):
- if self.settings["Name"]:
- self.settings["qto"].Name = self.settings["Name"]
+ if self.settings["name"]:
+ self.settings["qto"].Name = self.settings["name"]
def load_qto_template(self):
# TODO: add IFC2X3 PsetQto template support
@@ -29,16 +29,19 @@ class Usecase:
self.update_existing_property(prop)
def update_existing_property(self, prop):
- if prop.Name not in self.settings["Properties"]:
+ if prop.Name not in self.settings["properties"]:
return
- value = self.settings["Properties"][prop.Name]
- if prop.is_a("IfcPhysicalSimpleQuantity"):
- prop[3] = float(value) if value else None
- del self.settings["Properties"][prop.Name]
+ value = self.settings["properties"][prop.Name]
+ name = prop.Name
+ if value is None:
+ self.file.remove(prop)
+ elif prop.is_a("IfcPhysicalSimpleQuantity"):
+ prop[3] = float(value)
+ del self.settings["properties"][name]
def add_new_properties(self):
properties = []
- for name, value in self.settings["Properties"].items():
+ for name, value in self.settings["properties"].items():
if value is None:
continue
property_type = self.get_canonical_property_type(name)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/add_resource.py b/src/ifcopenshell-python/ifcopenshell/api/resource/add_resource.py
new file mode 100644
index 0000000000..3ef741ae6c
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/resource/add_resource.py
@@ -0,0 +1,35 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "parent_resource": None,
+ "ifc_class": "IfcCrewResource",
+ "name": None,
+ "predefined_type": "NOTDEFINED",
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ resource = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class=self.settings["ifc_class"],
+ predefined_type=self.settings["predefined_type"],
+ name=self.settings["name"],
+ )
+ # TODO: this is an ambiguity by buildingSMART: Can we nest an IfcCrewResource under an IfcCrewResource ?
+ # https://forums.buildingsmart.org/t/what-are-allowed-to-be-root-level-construction-resources/3550
+ if self.settings["parent_resource"]:
+ ifcopenshell.api.run(
+ "nest.assign_object", self.file, related_object=resource, relating_object=self.settings["parent_resource"]
+ )
+ else:
+ context = self.file.by_type("IfcContext")[0]
+ ifcopenshell.api.run(
+ "project.assign_declaration", self.file, definition=resource, relating_context=context
+ )
+ return resource
diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/assign_resource.py b/src/ifcopenshell-python/ifcopenshell/api/resource/assign_resource.py
new file mode 100644
index 0000000000..83e6f85462
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/resource/assign_resource.py
@@ -0,0 +1,43 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_resource": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if self.settings["related_object"].HasAssignments:
+ for assignment in self.settings["related_object"].HasAssignments:
+ if (
+ assignment.is_a("IfclRelAssignsToResource")
+ and assignment.RelatingResource == self.settings["relating_resource"]
+ ):
+ return
+
+ resource_of = None
+ if self.settings["relating_resource"].ResourceOf:
+ resource_of = self.settings["relating_resource"].ResourceOf[0]
+
+ if resource_of:
+ related_objects = list(resource_of.RelatedObjects)
+ related_objects.append(self.settings["related_object"])
+ resource_of.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": resource_of})
+ else:
+ resource_of = self.file.create_entity(
+ "IfcRelAssignsToResource",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [self.settings["related_object"]],
+ "RelatingResource": self.settings["relating_resource"],
+ }
+ )
+ return resource_of
diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/data.py b/src/ifcopenshell-python/ifcopenshell/api/resource/data.py
new file mode 100644
index 0000000000..eec9223e6f
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/resource/data.py
@@ -0,0 +1,23 @@
+class Data:
+ is_loaded = False
+ resources = {}
+
+ @classmethod
+ def purge(cls):
+ cls.resources = {}
+
+ @classmethod
+ def load(cls, file):
+ cls.resources = {}
+ for resource in file.by_type("IfcResource"):
+ data = resource.get_info()
+ del data["OwnerHistory"]
+ data["IsNestedBy"] = []
+ for rel in resource.IsNestedBy:
+ [data["IsNestedBy"].append(o.id()) for o in rel.RelatedObjects]
+ data["ResourceOf"] = []
+ for rel in resource.ResourceOf:
+ [data["ResourceOf"].append(o.id()) for o in rel.RelatedObjects]
+ data["HasContext"] = resource.HasContext[0].RelatingContext.id() if resource.HasContext else None
+ cls.resources[resource.id()] = data
+ cls.is_loaded=True
diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/edit_resource.py b/src/ifcopenshell-python/ifcopenshell/api/resource/edit_resource.py
new file mode 100644
index 0000000000..ff8ba0aa73
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/resource/edit_resource.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"resource": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["resource"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/remove_resource.py b/src/ifcopenshell-python/ifcopenshell/api/resource/remove_resource.py
new file mode 100644
index 0000000000..50fa0376ce
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/resource/remove_resource.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"resource": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ self.file.remove(self.settings["resource"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/unassign_resource.py b/src/ifcopenshell-python/ifcopenshell/api/resource/unassign_resource.py
new file mode 100644
index 0000000000..07f38f47a5
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/resource/unassign_resource.py
@@ -0,0 +1,24 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_resource": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["related_object"].HasAssignments or []:
+ if not rel.is_a("IfcRelAssignsToResource") or rel.RelatingResource != self.settings["relating_resource"]:
+ continue
+ if len(rel.RelatedObjects) == 1:
+ return self.file.remove(rel)
+ related_objects = list(rel.RelatedObjects)
+ related_objects.remove(self.settings["related_object"])
+ rel.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
+ return rel
diff --git a/src/ifcopenshell-python/ifcopenshell/api/root/create_entity.py b/src/ifcopenshell-python/ifcopenshell/api/root/create_entity.py
index 1f40d77108..93dc11d907 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/root/create_entity.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/root/create_entity.py
@@ -28,4 +28,12 @@ class Usecase:
element.ObjectType = self.settings["predefined_type"]
elif hasattr(element, "ObjectType"):
element.ObjectType = self.settings["predefined_type"]
+ if self.file.schema == "IFC2X3":
+ self.handle_2x3_defaults(element)
return element
+
+ def handle_2x3_defaults(self, element):
+ if element.is_a("IfcSpatialStructureElement"):
+ element.CompositionType = "ELEMENT"
+ elif element.is_a("IfcRoof"):
+ element.ShapeType = "NOTDEFINED"
diff --git a/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py b/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py
index 1a1fcd64a3..e63bcda37e 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py
@@ -18,9 +18,20 @@ class Usecase:
elif self.settings["product"].is_a("IfcTypeProduct"):
representations = [rm.MappedRepresentation for rm in self.settings["product"].RepresentationMaps or []]
for representation in representations:
- ifcopenshell.api.run("geometry.unassign_representation",
- self.file, **{"product": self.settings["product"], "representation": representation}
+ ifcopenshell.api.run(
+ "geometry.unassign_representation",
+ self.file,
+ **{"product": self.settings["product"], "representation": representation}
)
ifcopenshell.api.run("geometry.remove_representation", self.file, **{"representation": representation})
+ for opening in getattr(self.settings["product"], "HasOpenings", []) or []:
+ ifcopenshell.api.run("void.remove_opening", self.file, opening=opening.RelatedOpeningElement)
+
+ if self.settings["product"].is_a("IfcGrid"):
+ for axis in (
+ self.settings["product"].UAxes + self.settings["product"].VAxes + (self.settings["product"].WAxes or ())
+ ):
+ ifcopenshell.api.run("grid.remove_grid_axis", self.file, axis=axis)
+
# TODO: remove object placement and other relationships
self.file.remove(self.settings["product"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/add_task.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_task.py
new file mode 100644
index 0000000000..0551fe52f5
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_task.py
@@ -0,0 +1,40 @@
+import ifcopenshell.api
+import ifcopenshell
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "work_schedule": None,
+ "parent_task": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ task = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class="IfcTask",
+ name=None,
+ predefined_type="NOTDEFINED",
+ )
+ task.IsMilestone = False
+ if self.settings["work_schedule"]:
+ self.file.create_entity(
+ "IfcRelAssignsToControl",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [task],
+ "RelatingControl": self.settings["work_schedule"],
+ }
+ )
+ elif self.settings["parent_task"]:
+ rel = ifcopenshell.api.run(
+ "nest.assign_object", self.file, related_object=task, relating_object=self.settings["parent_task"]
+ )
+ if self.settings["parent_task"].Identification:
+ task.Identification = self.settings["parent_task"].Identification + "." + str(len(rel.RelatedObjects))
+ return task
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/add_task_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_task_time.py
new file mode 100644
index 0000000000..b83545d38e
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_task_time.py
@@ -0,0 +1,15 @@
+import ifcopenshell.util.date
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "task": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ task_time = self.file.create_entity("IfcTaskTime")
+ self.settings["task"].TaskTime = task_time
+ return task_time
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/add_time_period.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_time_period.py
new file mode 100644
index 0000000000..a323a6a553
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_time_period.py
@@ -0,0 +1,25 @@
+import ifcopenshell.api
+import ifcopenshell.util.date
+from datetime import datetime
+from datetime import timedelta
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "recurrence_pattern": None,
+ "start_time": None,
+ "end_time": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ time_period = self.file.create_entity("IfcTimePeriod")
+ time_period.StartTime = ifcopenshell.util.date.datetime2ifc(self.settings["start_time"], "IfcTime")
+ time_period.EndTime = ifcopenshell.util.date.datetime2ifc(self.settings["end_time"], "IfcTime")
+ time_periods = list(self.settings["recurrence_pattern"].TimePeriods or [])
+ time_periods.append(time_period)
+ self.settings["recurrence_pattern"].TimePeriods = time_periods
+ return time_period
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_calendar.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_calendar.py
new file mode 100644
index 0000000000..97014c20e1
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_calendar.py
@@ -0,0 +1,23 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"name": "Unnamed", "predefined_type": "NOTDEFINED"}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ work_calendar = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class="IfcWorkCalendar",
+ predefined_type=self.settings["predefined_type"],
+ name=self.settings["name"],
+ )
+ context = self.file.by_type("IfcContext")[0]
+ ifcopenshell.api.run(
+ "project.assign_declaration", self.file, definition=work_calendar, relating_context=context
+ )
+ return work_calendar
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_schedule.py
new file mode 100644
index 0000000000..e75bb4dde0
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_schedule.py
@@ -0,0 +1,45 @@
+import ifcopenshell.api
+import ifcopenshell.util.date
+from datetime import datetime
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "name": "Unnamed",
+ "predefined_type": "NOTDEFINED",
+ "start_time": datetime.now(),
+ "work_plan": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ work_schedule = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class="IfcWorkSchedule",
+ predefined_type=self.settings["predefined_type"],
+ name=self.settings["name"],
+ )
+ work_schedule.CreationDate = ifcopenshell.util.date.datetime2ifc(datetime.now(), "IfcDateTime")
+ person = ifcopenshell.api.owner.settings.get_person(self.file)
+ if person:
+ work_schedule.Creators = [person]
+ work_schedule.StartTime = ifcopenshell.util.date.datetime2ifc(self.settings["start_time"], "IfcDateTime")
+
+ if self.settings["work_plan"]:
+ ifcopenshell.api.run(
+ "aggregate.assign_object",
+ self.file,
+ **{"product": work_schedule, "relating_object": self.settings["work_plan"]}
+ )
+ else:
+ # TODO: this is an ambiguity by buildingSMART
+ # See https://forums.buildingsmart.org/t/is-the-ifcworkschedule-project-declaration-mutually-exclusive-to-aggregation-within-a-relating-ifcworkplan/3510
+ context = self.file.by_type("IfcContext")[0]
+ ifcopenshell.api.run(
+ "project.assign_declaration", self.file, definition=work_schedule, relating_context=context
+ )
+ return work_schedule
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_time.py
new file mode 100644
index 0000000000..c05eb3085e
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/add_work_time.py
@@ -0,0 +1,18 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_calendar": None, "time_type": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ work_time = self.file.create_entity("IfcWorkTime")
+ if self.settings["time_type"] == "WorkingTimes":
+ working_times = list(self.settings["work_calendar"].WorkingTimes or [])
+ working_times.append(work_time)
+ self.settings["work_calendar"].WorkingTimes = working_times
+ elif self.settings["time_type"] == "ExceptionTimes":
+ exception_times = list(self.settings["work_calendar"].ExceptionTimes or [])
+ exception_times.append(work_time)
+ self.settings["work_calendar"].ExceptionTimes = exception_times
+ return work_time
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_lag_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_lag_time.py
new file mode 100644
index 0000000000..4917355e47
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_lag_time.py
@@ -0,0 +1,28 @@
+import ifcopenshell.util.date
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"rel_sequence": None, "lag_value": None, "duration_type": "NOTDEFINED"}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ lag_value = self.file.createIfcDuration(
+ ifcopenshell.util.date.datetime2ifc(self.settings["lag_value"], "IfcDuration")
+ )
+ lag_time = self.file.create_entity(
+ "IfcLagTime",
+ **{
+ "DurationType": self.settings["duration_type"],
+ "LagValue": lag_value,
+ }
+ )
+ if self.settings["rel_sequence"].is_a("IfcRelSequence"):
+ if (
+ self.settings["rel_sequence"].TimeLag
+ and len(self.file.get_inverse(self.settings["rel_sequence"].TimeLag)) == 1
+ ):
+ self.file.remove(self.settings["rel_sequence"].TimeLag)
+ self.settings["rel_sequence"].TimeLag = lag_time
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_process.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_process.py
new file mode 100644
index 0000000000..e9f7dd57bb
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_process.py
@@ -0,0 +1,43 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_process": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if self.settings["related_object"].HasAssignments:
+ for assignment in self.settings["related_object"].HasAssignments:
+ if (
+ assignment.is_a("IfclRelAssignsToProcess")
+ and assignment.RelatingProcess == self.settings["relating_process"]
+ ):
+ return
+
+ operates_on = None
+ if self.settings["relating_process"].OperatesOn:
+ operates_on = self.settings["relating_process"].OperatesOn[0]
+
+ if operates_on:
+ related_objects = list(operates_on.RelatedObjects)
+ related_objects.append(self.settings["related_object"])
+ operates_on.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": operates_on})
+ else:
+ operates_on = self.file.create_entity(
+ "IfcRelAssignsToProcess",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [self.settings["related_object"]],
+ "RelatingProcess": self.settings["relating_process"],
+ }
+ )
+ return operates_on
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_product.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_product.py
new file mode 100644
index 0000000000..afc29f5d64
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_product.py
@@ -0,0 +1,43 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_product": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if self.settings["related_object"].HasAssignments:
+ for assignment in self.settings["related_object"].HasAssignments:
+ if (
+ assignment.is_a("IfclRelAssignsToProduct")
+ and assignment.RelatingProduct == self.settings["relating_product"]
+ ):
+ return
+
+ referenced_by = None
+ if self.settings["relating_product"].ReferencedBy:
+ referenced_by = self.settings["relating_product"].ReferencedBy[0]
+
+ if referenced_by:
+ related_objects = list(referenced_by.RelatedObjects)
+ related_objects.append(self.settings["related_object"])
+ referenced_by.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": referenced_by})
+ else:
+ referenced_by = self.file.create_entity(
+ "IfcRelAssignsToProduct",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatedObjects": [self.settings["related_object"]],
+ "RelatingProduct": self.settings["relating_product"],
+ }
+ )
+ return referenced_by
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_recurrence_pattern.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_recurrence_pattern.py
new file mode 100644
index 0000000000..f504d8b663
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_recurrence_pattern.py
@@ -0,0 +1,22 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"parent": None, "recurrence_type": "WEEKLY"}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ recurrence = self.file.createIfcRecurrencePattern(self.settings["recurrence_type"])
+
+ if self.settings["parent"].is_a("IfcWorkTime"):
+ if (
+ self.settings["parent"].RecurrencePattern
+ and len(self.file.get_inverse(self.settings["parent"].RecurrencePattern)) == 1
+ ):
+ self.file.remove(self.settings["parent"].RecurrencePattern)
+ self.settings["parent"].RecurrencePattern = recurrence
+ elif self.settings["parent"].is_a("IfcTaskTimeRecurring"):
+ if len(self.file.get_inverse(self.settings["parent"].Recurrence)) == 1:
+ self.file.remove(self.settings["parent"].Recurrence)
+ self.settings["parent"].Recurrence = recurrence
+ return recurrence
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_sequence.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_sequence.py
new file mode 100644
index 0000000000..5807746dd4
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_sequence.py
@@ -0,0 +1,28 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_process": None,
+ "related_process": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["related_process"].IsSuccessorFrom or []:
+ if rel.RelatingProcess == self.settings["relating_process"]:
+ return rel
+ return self.file.create_entity(
+ "IfcRelSequence",
+ **{
+ "GlobalId": ifcopenshell.guid.new(),
+ "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
+ "RelatingProcess": self.settings["relating_process"],
+ "RelatedProcess": self.settings["related_process"],
+ "SequenceType": "FINISH_START",
+ }
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_workplan.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_workplan.py
new file mode 100644
index 0000000000..aced43fe30
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/assign_workplan.py
@@ -0,0 +1,26 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_schedule": None, "work_plan": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: this is an ambiguity by buildingSMART
+ # See https://forums.buildingsmart.org/t/is-the-ifcworkschedule-project-declaration-mutually-exclusive-to-aggregation-within-a-relating-ifcworkplan/3510
+ ifcopenshell.api.run(
+ "project.unassign_declaration",
+ self.file,
+ definition=self.settings["work_schedule"],
+ relating_context=self.file.by_type("IfcContext")[0],
+ )
+ rel_aggregates = ifcopenshell.api.run(
+ "aggregate.assign_object",
+ self.file,
+ **{"product": self.settings["work_schedule"], "relating_object": self.settings["work_plan"]}
+ )
+ return rel_aggregates
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/cascade_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/cascade_schedule.py
new file mode 100644
index 0000000000..1efc2aef3f
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/cascade_schedule.py
@@ -0,0 +1,161 @@
+import datetime
+import ifcopenshell.util.date
+import ifcopenshell.util.sequence
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"task": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.calendar_cache = {}
+ self.cascade_task(self.settings["task"])
+
+ def cascade_task(self, task):
+ if not task.TaskTime:
+ return
+
+ duration = (
+ ifcopenshell.util.date.ifc2datetime(task.TaskTime.ScheduleDuration)
+ if task.TaskTime.ScheduleDuration
+ else datetime.timedelta()
+ )
+
+ finishes = []
+ starts = []
+
+ for rel in task.IsSuccessorFrom:
+ predecessor = rel.RelatingProcess
+ if rel.SequenceType == "FINISH_START":
+ finish = self.get_task_time_attribute(predecessor, "ScheduleFinish")
+ if not finish:
+ continue
+ if rel.TimeLag:
+ days = self.get_lag_time_days(rel.TimeLag)
+ duration_type = rel.TimeLag.DurationType
+ starts.append(self.offset_date(finish, days, duration_type, self.get_calendar(task)))
+ starts.append(self.offset_date(finish, days, duration_type, self.get_calendar(predecessor)))
+ else:
+ starts.append(finish)
+ elif rel.SequenceType == "START_START":
+ start = self.get_task_time_attribute(predecessor, "ScheduleStart")
+ if not start:
+ continue
+ if rel.TimeLag:
+ days = self.get_lag_time_days(rel.TimeLag)
+ duration_type = rel.TimeLag.DurationType
+ starts.append(self.offset_date(start, days, duration_type, self.get_calendar(task)))
+ starts.append(self.offset_date(start, days, duration_type, self.get_calendar(predecessor)))
+ else:
+ starts.append(start)
+ elif rel.SequenceType == "FINISH_FINISH":
+ finish = self.get_task_time_attribute(predecessor, "ScheduleFinish")
+ if not finish:
+ continue
+ if rel.TimeLag:
+ days = self.get_lag_time_days(rel.TimeLag)
+ duration_type = rel.TimeLag.DurationType
+ finishes.append(self.offset_date(finish, days, duration_type, self.get_calendar(task)))
+ finishes.append(self.offset_date(finish, days, duration_type, self.get_calendar(predecessor)))
+ else:
+ finishes.append(finish)
+ elif rel.SequenceType == "START_FINISH":
+ start = self.get_task_time_attribute(predecessor, "ScheduleStart")
+ if not start:
+ continue
+ if rel.TimeLag:
+ days = self.get_lag_time_days(rel.TimeLag)
+ duration_type = rel.TimeLag.DurationType
+ finishes.append(self.offset_date(start, days, duration_type, self.get_calendar(task)))
+ finishes.append(self.offset_date(start, days, duration_type, self.get_calendar(predecessor)))
+ else:
+ finishes.append(start)
+
+ if starts and finishes:
+ start = max(starts)
+ finish = max(finishes)
+ potential_finish = datetime.datetime.combine(
+ ifcopenshell.util.sequence.get_finish_date(
+ start,
+ duration,
+ task.TaskTime.DurationType,
+ self.get_calendar(task),
+ ),
+ datetime.datetime.min.time(),
+ )
+ if potential_finish > finish:
+ start_ifc = ifcopenshell.util.date.datetime2ifc(start, "IfcDateTime")
+ if task.TaskTime.ScheduleStart == start_ifc:
+ return
+ task.TaskTime.ScheduleStart = start_ifc
+ task.TaskTime.ScheduleFinish = ifcopenshell.util.date.datetime2ifc(potential_finish, "IfcDateTime")
+ else:
+ finish_ifc = ifcopenshell.util.date.datetime2ifc(finish, "IfcDateTime")
+ if task.TaskTime.ScheduleFinish == finish_ifc:
+ return
+ task.TaskTime.ScheduleFinish = finish_ifc
+ task.TaskTime.ScheduleStart = ifcopenshell.util.date.datetime2ifc(
+ ifcopenshell.util.sequence.get_finish_date(
+ finish,
+ -duration,
+ task.TaskTime.DurationType,
+ self.get_calendar(task),
+ ),
+ "IfcDateTime",
+ )
+ elif finishes:
+ finish = max(finishes)
+ finish_ifc = ifcopenshell.util.date.datetime2ifc(finish, "IfcDateTime")
+ if task.TaskTime.ScheduleFinish == finish_ifc:
+ return
+ task.TaskTime.ScheduleFinish = finish_ifc
+ task.TaskTime.ScheduleStart = ifcopenshell.util.date.datetime2ifc(
+ ifcopenshell.util.sequence.get_finish_date(
+ finish,
+ -duration,
+ task.TaskTime.DurationType,
+ self.get_calendar(task),
+ ),
+ "IfcDateTime",
+ )
+ elif starts:
+ start = max(starts)
+ start_ifc = ifcopenshell.util.date.datetime2ifc(start, "IfcDateTime")
+ if task.TaskTime.ScheduleStart == start_ifc:
+ return
+ task.TaskTime.ScheduleStart = start_ifc
+ task.TaskTime.ScheduleFinish = ifcopenshell.util.date.datetime2ifc(
+ ifcopenshell.util.sequence.get_finish_date(
+ start,
+ duration,
+ task.TaskTime.DurationType,
+ self.get_calendar(task),
+ ),
+ "IfcDateTime",
+ )
+
+ for rel in task.IsPredecessorTo:
+ self.cascade_task(rel.RelatedProcess)
+
+ def get_lag_time_days(self, lag_time):
+ return ifcopenshell.util.date.ifc2datetime(lag_time.LagValue.wrappedValue).days
+
+ def get_calendar(self, task):
+ if task.id() not in self.calendar_cache:
+ self.calendar_cache[task.id()] = ifcopenshell.util.sequence.derive_calendar(task)
+ return self.calendar_cache[task.id()]
+
+ def offset_date(self, date, days, duration_type, calendar):
+ return datetime.datetime.combine(
+ ifcopenshell.util.sequence.get_finish_date(date, datetime.timedelta(days=days), duration_type, calendar),
+ datetime.datetime.min.time(),
+ )
+
+ def get_task_time_attribute(self, task, attribute):
+ if task.TaskTime:
+ value = getattr(task.TaskTime, attribute)
+ if value:
+ return ifcopenshell.util.date.ifc2datetime(value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/data.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/data.py
index a59b519e94..ef41813f09 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/sequence/data.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/data.py
@@ -127,17 +127,20 @@ class Data:
data["HasAssignmentsWorkCalendar"] = []
data["RelatedObjects"] = []
data["RelatingProducts"] = []
+ data["OperatesOn"] = []
data["IsPredecessorTo"] = []
data["IsSuccessorFrom"] = []
if task.TaskTime:
data["TaskTime"] = data["TaskTime"].id()
for rel in task.IsNestedBy:
[data["RelatedObjects"].append(o.id()) for o in rel.RelatedObjects if o.is_a("IfcTask")]
+ data["Nests"] = [r.RelatingObject.id() for r in task.Nests or []]
[
data["RelatingProducts"].append(r.RelatingProduct.id())
for r in task.HasAssignments
if r.is_a("IfcRelAssignsToProduct")
]
+ [data["OperatesOn"].extend([o.id() for o in r.RelatedObjects]) for r in task.OperatesOn]
[data["IsPredecessorTo"].append(rel.id()) for rel in task.IsPredecessorTo or []]
[data["IsSuccessorFrom"].append(rel.id()) for rel in task.IsSuccessorFrom or []]
[
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_lag_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_lag_time.py
new file mode 100644
index 0000000000..9089ab6bc1
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_lag_time.py
@@ -0,0 +1,21 @@
+import ifcopenshell.api
+import ifcopenshell.util.date
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"lag_time": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ if name == "LagValue" and value is not None:
+ if isinstance(value, float):
+ value = self.file.createIfcRatioMeasure(value)
+ else:
+ value = self.file.createIfcDuration(ifcopenshell.util.date.datetime2ifc(value, "IfcDuration"))
+ setattr(self.settings["lag_time"], name, value)
+ for rel in [r for r in self.file.get_inverse(self.settings["lag_time"]) if r.is_a("IfcRelSequence")]:
+ ifcopenshell.api.run("sequence.cascade_schedule", self.file, task=rel.RelatedProcess)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_recurrence_pattern.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_recurrence_pattern.py
new file mode 100644
index 0000000000..d6835942e6
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_recurrence_pattern.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"recurrence_pattern": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["recurrence_pattern"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_sequence.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_sequence.py
new file mode 100644
index 0000000000..d11febfb00
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_sequence.py
@@ -0,0 +1,18 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"rel_sequence": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["rel_sequence"], name, value)
+ if "SequenceType" in self.settings["attributes"].keys():
+ ifcopenshell.api.run(
+ "sequence.cascade_schedule", self.file, task=self.settings["rel_sequence"].RelatedProcess
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_task.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_task.py
new file mode 100644
index 0000000000..165c0606dd
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_task.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"task": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["task"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_task_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_task_time.py
new file mode 100644
index 0000000000..f332265eb9
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_task_time.py
@@ -0,0 +1,92 @@
+import datetime
+import ifcopenshell.util.date
+import ifcopenshell.util.sequence
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"task_time": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.task = self.get_task()
+ self.calendar = ifcopenshell.util.sequence.derive_calendar(self.task)
+
+ # If the user specifies both an end date and a duration, the duration takes priority
+ if (
+ "ScheduleDuration" in self.settings["attributes"].keys()
+ and "ScheduleFinish" in self.settings["attributes"].keys()
+ ):
+ del self.settings["attributes"]["ScheduleFinish"]
+ if (
+ "ActualDuration" in self.settings["attributes"].keys()
+ and "ActualFinish" in self.settings["attributes"].keys()
+ ):
+ del self.settings["attributes"]["ActualFinish"]
+
+ duration_type = self.settings["attributes"].get("DurationType", self.settings["task_time"].DurationType)
+ if "ScheduleFinish" in self.settings["attributes"]:
+ self.settings["attributes"]["ScheduleFinish"] = ifcopenshell.util.sequence.get_soonest_working_day(
+ self.settings["attributes"]["ScheduleFinish"], duration_type, self.calendar
+ )
+ if "ScheduleStart" in self.settings["attributes"]:
+ self.settings["attributes"]["ScheduleStart"] = ifcopenshell.util.sequence.get_soonest_working_day(
+ self.settings["attributes"]["ScheduleStart"], duration_type, self.calendar
+ )
+
+ for name, value in self.settings["attributes"].items():
+ if value:
+ if "Start" in name or "Finish" in name or name == "StatusTime":
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDateTime")
+ elif name == "ScheduleDuration" or name == "ActualDuration" or name == "RemainingTime":
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDuration")
+ setattr(self.settings["task_time"], name, value)
+
+ if (
+ "ScheduleDuration" in self.settings["attributes"].keys()
+ and self.settings["task_time"].ScheduleDuration
+ and self.settings["task_time"].ScheduleStart
+ ):
+ self.calculate_finish()
+ elif "ScheduleStart" in self.settings["attributes"].keys() and self.settings["task_time"].ScheduleDuration:
+ self.calculate_finish()
+ elif "ScheduleFinish" in self.settings["attributes"].keys() and self.settings["task_time"].ScheduleStart:
+ self.calculate_duration()
+
+ if (
+ self.settings["task_time"].ScheduleDuration
+ and (
+ "ScheduleStart" in self.settings["attributes"].keys()
+ or "ScheduleFinish" in self.settings["attributes"].keys()
+ or "ScheduleDuration" in self.settings["attributes"].keys()
+ )
+ ):
+ ifcopenshell.api.run("sequence.cascade_schedule", self.file, task=self.task)
+
+ def calculate_finish(self):
+ finish_date = ifcopenshell.util.sequence.get_finish_date(
+ ifcopenshell.util.date.ifc2datetime(self.settings["task_time"].ScheduleStart),
+ ifcopenshell.util.date.ifc2datetime(self.settings["task_time"].ScheduleDuration),
+ self.settings["task_time"].DurationType,
+ self.calendar,
+ )
+ self.settings["task_time"].ScheduleFinish = ifcopenshell.util.date.datetime2ifc(finish_date, "IfcDateTime")
+
+ def calculate_duration(self):
+ start = ifcopenshell.util.date.ifc2datetime(self.settings["task_time"].ScheduleStart)
+ finish = ifcopenshell.util.date.ifc2datetime(self.settings["task_time"].ScheduleFinish)
+ current_date = datetime.date(start.year, start.month, start.day)
+ finish_date = datetime.date(finish.year, finish.month, finish.day)
+ duration = datetime.timedelta()
+ while current_date < finish_date:
+ if self.settings["task_time"].DurationType == "ELAPSEDTIME" or not self.calendar:
+ duration += datetime.timedelta(days=1)
+ elif ifcopenshell.util.sequence.is_working_day(current_date, self.calendar):
+ duration += datetime.timedelta(days=1)
+ current_date += datetime.timedelta(days=1)
+ self.settings["task_time"].ScheduleDuration = ifcopenshell.util.date.datetime2ifc(duration, "IfcDuration")
+
+ def get_task(self):
+ return [e for e in self.file.get_inverse(self.settings["task_time"]) if e.is_a("IfcTask")][0]
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_calendar.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_calendar.py
new file mode 100644
index 0000000000..f45974d960
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_calendar.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_calendar": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["work_calendar"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_plan.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_plan.py
new file mode 100644
index 0000000000..48b8b0dcde
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_plan.py
@@ -0,0 +1,18 @@
+import ifcopenshell.util.date
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_plan": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ if value:
+ if "Date" in name or "Time" in name:
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDateTime")
+ elif name == "Duration" or name == "TotalFloat":
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDuration")
+ setattr(self.settings["work_plan"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_schedule.py
new file mode 100644
index 0000000000..a2d57910da
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_schedule.py
@@ -0,0 +1,18 @@
+import ifcopenshell.util.date
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_schedule": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ if value:
+ if "Date" in name or "Time" in name:
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDateTime")
+ elif name == "Duration" or name == "TotalFloat":
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDuration")
+ setattr(self.settings["work_schedule"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_time.py
new file mode 100644
index 0000000000..c2952b704a
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/edit_work_time.py
@@ -0,0 +1,15 @@
+import ifcopenshell.util.date
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_time": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ if value and name in ["Start", "Finish"]:
+ value = ifcopenshell.util.date.datetime2ifc(value, "IfcDate")
+ setattr(self.settings["work_time"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/get_related_products.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/get_related_products.py
new file mode 100644
index 0000000000..f58404c3b1
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/get_related_products.py
@@ -0,0 +1,28 @@
+import ifcopenshell
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_product": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ products = set()
+ related_object = None
+ if self.settings["related_object"]:
+ related_object = self.settings["related_object"]
+ elif self.settings["relating_product"]:
+ for reference in self.settings["relating_product"].ReferencedBy:
+ if reference.is_a("IfcRelAssignsToProduct"):
+ related_object = referenced_by.RelatedObjects[0]
+ if related_object:
+ assignments = self.settings["related_object"].HasAssignments
+ for assignment in assignments:
+ if assignment.is_a("IfcRelAssignsToProduct"):
+ products.add(assignment.RelatingProduct.id())
+ return products
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/recalculate_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/recalculate_schedule.py
new file mode 100644
index 0000000000..820595ee65
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/recalculate_schedule.py
@@ -0,0 +1,320 @@
+import datetime
+import networkx as nx
+import ifcopenshell.api
+import ifcopenshell.util.date
+import ifcopenshell.util.sequence
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_schedule": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # The method implemented is the same as shown here:
+ # https://www.youtube.com/watch?v=qTErIV6OqLg
+ self.start_dates = []
+ self.build_network_graph()
+
+ self.pending_nodes = set(self.g.nodes)
+ while self.pending_nodes:
+ remaining_nodes = set()
+ for pending_node in self.pending_nodes:
+ if not self.forward_pass(pending_node):
+ remaining_nodes.add(pending_node)
+ self.pending_nodes = remaining_nodes
+
+ self.pending_nodes = set(self.g.nodes)
+ while self.pending_nodes:
+ remaining_nodes = set()
+ for pending_node in self.pending_nodes:
+ if not self.backward_pass(pending_node):
+ remaining_nodes.add(pending_node)
+ self.pending_nodes = remaining_nodes
+
+ self.update_task_times()
+
+ def build_network_graph(self):
+ self.sequence_type_map = {
+ None: "FS",
+ "START_START": "SS",
+ "START_FINISH": "SF",
+ "FINISH_START": "FS",
+ "FINISH_FINISH": "FF",
+ "USERDEFINED": "FS",
+ "NOTDEFINED": "FS",
+ }
+ self.g = nx.DiGraph()
+ self.edges = []
+ self.g.add_node("start", duration=0, duration_type="ELAPSEDTIME", calendar=None)
+ self.g.add_node("finish", duration=0, duration_type="ELAPSEDTIME", calendar=None)
+ for rel in self.settings["work_schedule"].Controls:
+ for related_object in rel.RelatedObjects:
+ if not related_object.is_a("IfcTask"):
+ continue
+ self.add_node(related_object)
+ self.g.add_edges_from(self.edges)
+
+ def add_node(self, task):
+ if task.IsNestedBy:
+ for rel in task.IsNestedBy:
+ [self.add_node(o) for o in rel.RelatedObjects]
+ return
+
+ if task.TaskTime and task.TaskTime.ScheduleDuration:
+ duration = ifcopenshell.util.date.ifc2datetime(task.TaskTime.ScheduleDuration).days
+ duration_type = task.TaskTime.DurationType
+ else:
+ duration = 0
+ duration_type = "ELAPSEDTIME"
+
+ self.g.add_node(
+ task.id(),
+ duration=duration,
+ duration_type=duration_type,
+ calendar=ifcopenshell.util.sequence.derive_calendar(task),
+ )
+
+ self.edges.extend(
+ [
+ (
+ rel.RelatingProcess.id(),
+ rel.RelatedProcess.id(),
+ {
+ "lag_time": 0
+ if not rel.TimeLag
+ else ifcopenshell.util.date.ifc2datetime(rel.TimeLag.LagValue.wrappedValue).days,
+ "type": self.sequence_type_map[rel.SequenceType],
+ },
+ )
+ for rel in task.IsSuccessorFrom or []
+ ]
+ )
+ predecessor_types = [rel.SequenceType for rel in task.IsSuccessorFrom]
+ successor_types = [rel.SequenceType for rel in task.IsPredecessorTo]
+
+ if not predecessor_types or (
+ "FINISH_START" not in predecessor_types and "START_START" not in predecessor_types
+ ):
+ self.edges.append(("start", task.id(), {"lag_time": 0, "type": "FS"}))
+ if task.TaskTime and task.TaskTime.ScheduleStart:
+ self.start_dates.append(ifcopenshell.util.date.ifc2datetime(task.TaskTime.ScheduleStart))
+ if not successor_types or ("FINISH_START" not in successor_types and "FINISH_FINISH" not in successor_types):
+ self.edges.append((task.id(), "finish", {"lag_time": 0, "type": "FS"}))
+
+ def update_task_times(self):
+ for ifc_definition_id in self.g.nodes:
+ data = self.g.nodes[ifc_definition_id]
+ if not data["duration"]:
+ continue
+ ifcopenshell.api.run(
+ "sequence.edit_task_time",
+ self.file,
+ task_time=self.file.by_id(ifc_definition_id).TaskTime,
+ attributes={
+ "FreeFloat": ifcopenshell.util.date.datetime2ifc(data["free_float"], "IfcDuration"),
+ "TotalFloat": ifcopenshell.util.date.datetime2ifc(data["total_float"], "IfcDuration"),
+ "IsCritical": data["total_float"].days == 0,
+ "EarlyStart": ifcopenshell.util.date.datetime2ifc(data["early_start"], "IfcDateTime"),
+ "EarlyFinish": ifcopenshell.util.date.datetime2ifc(data["early_finish"], "IfcDateTime"),
+ "LateStart": ifcopenshell.util.date.datetime2ifc(data["late_start"], "IfcDateTime"),
+ "LateFinish": ifcopenshell.util.date.datetime2ifc(data["late_finish"], "IfcDateTime"),
+ },
+ )
+
+ def offset_date(self, date, days, node):
+ return ifcopenshell.util.sequence.get_finish_date(
+ date, datetime.timedelta(days=days), node["duration_type"], node["calendar"]
+ )
+
+ def forward_pass(self, node):
+ successors = self.g.successors(node)
+ predecessors = list(self.g.predecessors(node))
+ data = self.g.nodes[node]
+
+ if node == "start":
+ data["early_start"] = min(self.start_dates)
+ else:
+ finishes = []
+ starts = []
+ for predecessor in predecessors:
+ predecessor_data = self.g.nodes[predecessor]
+ edge = self.g[predecessor][node]
+ if edge["type"] == "FS":
+ finish = predecessor_data.get("early_finish")
+ if finish is None:
+ return
+ if not edge["lag_time"]:
+ starts.append(finish)
+ else:
+ starts.append(self.offset_date(finish, edge["lag_time"], data))
+ starts.append(self.offset_date(finish, edge["lag_time"], predecessor_data))
+ elif edge["type"] == "SS":
+ start = predecessor_data.get("early_start")
+ if start is None:
+ return
+ if not edge["lag_time"]:
+ starts.append(start)
+ else:
+ starts.append(self.offset_date(start, edge["lag_time"], data))
+ starts.append(self.offset_date(start, edge["lag_time"], predecessor_data))
+ elif edge["type"] == "FF":
+ finish = predecessor_data.get("early_finish")
+ if finish is None:
+ return
+ if not edge["lag_time"]:
+ finishes.append(finish)
+ else:
+ finishes.append(self.offset_date(finish, edge["lag_time"], data))
+ finishes.append(self.offset_date(finish, edge["lag_time"], predecessor_data))
+ elif edge["type"] == "SF":
+ start = predecessor_data.get("early_start")
+ if start is None:
+ return
+ if not edge["lag_time"]:
+ finishes.append(start)
+ else:
+ finishes.append(self.offset_date(start, edge["lag_time"], data))
+ finishes.append(self.offset_date(start, edge["lag_time"], predecessor_data))
+ if starts and finishes:
+ data["early_start"] = max(starts)
+ data["early_finish"] = max(finishes)
+ if self.offset_date(data["early_start"], data["duration"], data) > data["early_finish"]:
+ data["early_finish"] = self.offset_date(data["early_start"], data["duration"], data)
+ else:
+ data["early_start"] = self.offset_date(data["early_finish"], -data["duration"], data)
+ elif finishes:
+ data["early_finish"] = max(finishes)
+ elif starts:
+ data["early_start"] = max(starts)
+ else:
+ print("How did this happen?")
+
+ if data.get("early_finish") is None:
+ data["early_finish"] = self.offset_date(data["early_start"], data["duration"], data)
+ elif data.get("early_start") is None:
+ data["early_start"] = self.offset_date(data["early_finish"], -data["duration"], data)
+
+ return True
+
+ def backward_pass(self, node):
+ successors = list(self.g.successors(node))
+ predecessors = self.g.predecessors(node)
+ data = self.g.nodes[node]
+ free_floats = []
+
+ if node == "finish":
+ data["late_finish"] = data["early_finish"]
+ else:
+ finishes = []
+ starts = []
+ for successor in successors:
+ successor_data = self.g.nodes[successor]
+ edge = self.g[node][successor]
+ if edge["type"] == "FS":
+ start = successor_data.get("late_start")
+ if start is None:
+ return
+ if not edge["lag_time"]:
+ finishes.append(start)
+ else:
+ finishes.append(self.offset_date(start, -edge["lag_time"], data))
+ finishes.append(self.offset_date(start, -edge["lag_time"], successor_data))
+ free_floats.append(
+ self.calculate_free_float(
+ data["early_finish"], successor_data["early_start"], edge["lag_time"], data, successor_data
+ )
+ )
+ elif edge["type"] == "SS":
+ start = successor_data.get("late_start")
+ if start is None:
+ return
+ if not edge["lag_time"]:
+ starts.append(start)
+ else:
+ starts.append(self.offset_date(start, -edge["lag_time"], data))
+ starts.append(self.offset_date(start, -edge["lag_time"], successor_data))
+ free_floats.append(
+ self.calculate_free_float(
+ data["early_start"], successor_data["early_start"], edge["lag_time"], data, successor_data
+ )
+ )
+ elif edge["type"] == "FF":
+ finish = successor_data.get("late_finish")
+ if finish is None:
+ return
+ if not edge["lag_time"]:
+ finishes.append(finish)
+ else:
+ finishes.append(self.offset_date(finish, -edge["lag_time"], data))
+ finishes.append(self.offset_date(finish, -edge["lag_time"], successor_data))
+ free_floats.append(
+ self.calculate_free_float(
+ data["early_finish"], successor_data["early_finish"], edge["lag_time"], data, successor_data
+ )
+ )
+ elif edge["type"] == "SF":
+ finish = successor_data.get("late_finish")
+ if finish is None:
+ return
+ if not edge["lag_time"]:
+ starts.append(finish)
+ else:
+ starts.append(self.offset_date(finish, -edge["lag_time"], data))
+ starts.append(self.offset_date(finish, -edge["lag_time"], successor_data))
+ free_floats.append(
+ self.calculate_free_float(
+ data["early_start"], successor_data["early_finish"], edge["lag_time"], data, successor_data
+ )
+ )
+ if starts and finishes:
+ data["late_start"] = min(starts)
+ data["late_finish"] = min(finishes)
+ if self.offset_date(data["late_start"], data["duration"], data) < data["late_finish"]:
+ data["late_finish"] = self.offset_date(data["late_start"], data["duration"], data)
+ else:
+ data["late_start"] = self.offset_date(data["late_finish"], -data["duration"], data)
+ elif finishes:
+ data["late_finish"] = min(finishes)
+ elif starts:
+ data["late_start"] = min(starts)
+ else:
+ print("How did this happen?")
+
+ if data.get("late_finish") is None:
+ data["late_finish"] = self.offset_date(data["late_start"], data["duration"], data)
+ elif data.get("late_start") is None:
+ data["late_start"] = self.offset_date(data["late_finish"], -data["duration"], data)
+
+ if data["duration_type"] == "WORKTIME":
+ data["total_float"] = datetime.timedelta(
+ days=ifcopenshell.util.sequence.count_working_days(
+ data["early_finish"], data["late_finish"], data["calendar"]
+ )
+ )
+ else:
+ data["total_float"] = data["late_finish"] - data["early_finish"]
+
+ data["free_float"] = min(free_floats) if free_floats else None
+
+ return True
+
+ def calculate_free_float(self, predecessor_date, successor_date, lag_time, predecessor_data, successor_data):
+ if not lag_time:
+ min_successor_date = successor_date
+ else:
+ min_successor_date = min(
+ (
+ self.offset_date(successor_date, -lag_time, predecessor_data),
+ self.offset_date(successor_date, -lag_time, successor_data),
+ )
+ )
+ if predecessor_data["duration_type"] == "WORKTIME":
+ return datetime.timedelta(
+ days=ifcopenshell.util.sequence.count_working_days(
+ predecessor_date, min_successor_date, predecessor_data["calendar"]
+ )
+ )
+ return min_successor_date - predecessor_date
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py
new file mode 100644
index 0000000000..f468a28a6a
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py
@@ -0,0 +1,30 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"task": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ ifcopenshell.api.run(
+ "project.unassign_declaration",
+ self.file,
+ definition=self.settings["task"],
+ relating_context=self.file.by_type("IfcContext")[0],
+ )
+ for inverse in self.file.get_inverse(self.settings["task"]):
+ if inverse.is_a("IfcRelSequence"):
+ self.file.remove(inverse)
+ elif inverse.is_a("IfcRelNests"):
+ if inverse.RelatingObject == self.settings["task"]:
+ for related_object in inverse.RelatedObjects:
+ ifcopenshell.api.run("sequence.remove_task", self.file, task=related_object)
+ elif inverse.RelatedObjects == tuple(self.settings["task"]):
+ self.file.remove(inverse)
+ elif inverse.is_a("IfcRelAssignsToControl"):
+ self.file.remove(inverse)
+ self.file.remove(self.settings["task"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_time_period.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_time_period.py
new file mode 100644
index 0000000000..4b0d59d7aa
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_time_period.py
@@ -0,0 +1,12 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"time_period": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.file.remove(self.settings["time_period"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_calendar.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_calendar.py
new file mode 100644
index 0000000000..6950012bd9
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_calendar.py
@@ -0,0 +1,19 @@
+import ifcopenshell
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_calendar": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ ifcopenshell.api.run(
+ "project.unassign_declaration",
+ self.file,
+ definition=self.settings["work_calendar"],
+ relating_context=self.file.by_type("IfcContext")[0],
+ )
+ self.file.remove(self.settings["work_calendar"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_schedule.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_schedule.py
new file mode 100644
index 0000000000..b9323223b5
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_schedule.py
@@ -0,0 +1,27 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_schedule": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ ifcopenshell.api.run(
+ "project.unassign_declaration",
+ self.file,
+ definition=self.settings["work_schedule"],
+ relating_context=self.file.by_type("IfcContext")[0],
+ )
+ for rel in self.settings["work_schedule"].Controls:
+ for related_object in rel.RelatedObjects:
+ if related_object.is_a("IfcTask"):
+ ifcopenshell.api.run(
+ "sequence.remove_task",
+ self.file,
+ task=related_object
+ )
+ self.file.remove(self.settings["work_schedule"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_time.py
new file mode 100644
index 0000000000..10562c1840
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_work_time.py
@@ -0,0 +1,9 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"work_time": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.file.remove(self.settings["work_time"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_lag_time.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_lag_time.py
new file mode 100644
index 0000000000..9cf40abec1
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_lag_time.py
@@ -0,0 +1,20 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "rel_sequence": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if len(self.file.get_inverse(self.settings["rel_sequence"].TimeLag)) == 1:
+ self.file.remove(self.settings["rel_sequence"].TimeLag)
+ else:
+ self.settings["rel_sequence"].TimeLag = None
+ ifcopenshell.api.run(
+ "sequence.cascade_schedule", self.file, task=self.settings["rel_sequence"].RelatedProcess
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_process.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_process.py
new file mode 100644
index 0000000000..18171496e8
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_process.py
@@ -0,0 +1,25 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_process": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["related_object"].HasAssignments or []:
+ if not rel.is_a("IfcRelAssignsToProcess") or rel.RelatingProcess != self.settings["relating_process"]:
+ continue
+ if len(rel.RelatedObjects) == 1:
+ return self.file.remove(rel)
+ related_objects = list(rel.RelatedObjects)
+ related_objects.remove(self.settings["related_object"])
+ rel.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
+ return rel
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_product.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_product.py
new file mode 100644
index 0000000000..5d28bc43d0
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_product.py
@@ -0,0 +1,25 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_product": None,
+ "related_object": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["related_object"].HasAssignments or []:
+ if not rel.is_a("IfcRelAssignsToProduct") or rel.RelatingProduct != self.settings["relating_product"]:
+ continue
+ if len(rel.RelatedObjects) == 1:
+ return self.file.remove(rel)
+ related_objects = list(rel.RelatedObjects)
+ related_objects.remove(self.settings["related_object"])
+ rel.RelatedObjects = related_objects
+ ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel})
+ return rel
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_recurrence_pattern.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_recurrence_pattern.py
new file mode 100644
index 0000000000..23ec89376a
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_recurrence_pattern.py
@@ -0,0 +1,12 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"recurrence_pattern": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.file.remove(self.settings["recurrence_pattern"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_sequence.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_sequence.py
new file mode 100644
index 0000000000..fb1ffda88b
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/unassign_sequence.py
@@ -0,0 +1,19 @@
+import ifcopenshell
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "relating_process": None,
+ "related_process": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for rel in self.settings["related_process"].IsSuccessorFrom or []:
+ if rel.RelatingProcess == self.settings["relating_process"]:
+ self.file.remove(rel)
+ ifcopenshell.api.run("sequence.cascade_schedule", self.file, task=self.settings["related_process"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_activity.py b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_activity.py
new file mode 100644
index 0000000000..836d6be578
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_activity.py
@@ -0,0 +1,30 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "ifc_class": "IfcStructuralPlanarAction",
+ "predefined_type": "CONST",
+ "global_or_local": "GLOBAL_COORDS",
+ "applied_load": None,
+ "structural_member": None,
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ activity = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class=self.settings["ifc_class"],
+ predefined_type=self.settings["predefined_type"],
+ )
+ activity.AppliedLoad = self.settings["applied_load"]
+ activity.GlobalOrLocal = self.settings["global_or_local"]
+
+ rel = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcRelConnectsStructuralActivity")
+ rel.RelatingElement = self.settings["structural_member"]
+ rel.RelatedStructuralActivity = activity
+ return activity
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_boundary_condition.py b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_boundary_condition.py
index 9cb49ec47a..184221dce5 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_boundary_condition.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_boundary_condition.py
@@ -1,21 +1,28 @@
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"connection": None}
+ self.settings = {"name": None, "connection": None, "ifc_class": "IfcBoundaryNodeCondition"}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- if self.settings["connection"].is_a("IfcRelConnectsStructuralMember"):
- related_connection = self.settings["connection"].RelatedStructuralConnection
+ if self.settings["connection"]:
+ # assign boundary condition to a connection
+ if self.settings["connection"].is_a("IfcRelConnectsStructuralMember"):
+ related_connection = self.settings["connection"].RelatedStructuralConnection
+ else:
+ related_connection = self.settings["connection"]
+
+ if related_connection.is_a("IfcStructuralPointConnection"):
+ boundary_class = "IfcBoundaryNodeCondition"
+ elif related_connection.is_a("IfcStructuralCurveConnection"):
+ boundary_class = "IfcBoundaryEdgeCondition"
+ elif related_connection.is_a("IfcStructuralSurfaceConnection"):
+ boundary_class = "IfcBoundaryFaceCondition"
+
+ self.settings["connection"].AppliedCondition = self.file.create_entity(
+ boundary_class, Name=self.settings["name"]
+ )
else:
- related_connection = self.settings["connection"]
-
- if related_connection.is_a("IfcStructuralPointConnection"):
- boundary_class = "IfcBoundaryNodeCondition"
- elif related_connection.is_a("IfcStructuralCurveConnection"):
- boundary_class = "IfcBoundaryEdgeCondition"
- elif related_connection.is_a("IfcStructuralSurfaceConnection"):
- boundary_class = "IfcBoundaryFaceCondition"
-
- self.settings["connection"].AppliedCondition = self.file.create_entity(boundary_class)
+ # add an orphan boundary condition
+ return self.file.create_entity(self.settings["ifc_class"], Name=self.settings["name"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load.py b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load.py
new file mode 100644
index 0000000000..4327970a70
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load.py
@@ -0,0 +1,15 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "name": None,
+ "ifc_class": "IfcStructuralLoadLinearForce",
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ return self.file.create_entity(self.settings["ifc_class"], Name=self.settings["name"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load_case.py b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load_case.py
new file mode 100644
index 0000000000..de0a47c9da
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load_case.py
@@ -0,0 +1,26 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "name": "Unnamed",
+ "predefined_type": "LOAD_CASE",
+ "action_type": "NOTDEFINED",
+ "action_source": "NOTDEFINED",
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ load_case = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class="IfcStructuralLoadCase",
+ predefined_type=self.settings["predefined_type"],
+ name=self.settings["name"],
+ )
+ load_case.ActionType = self.settings["action_type"]
+ load_case.ActionSource = self.settings["action_source"]
+ return load_case
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load_group.py b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load_group.py
new file mode 100644
index 0000000000..32682cfd17
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/add_structural_load_group.py
@@ -0,0 +1,26 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "name": "Unnamed",
+ "predefined_type": "LOAD_GROUP",
+ "action_type": "NOTDEFINED",
+ "action_source": "NOTDEFINED",
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ load_group = ifcopenshell.api.run(
+ "root.create_entity",
+ self.file,
+ ifc_class="IfcStructuralLoadGroup",
+ predefined_type=self.settings["predefined_type"],
+ name=self.settings["name"],
+ )
+ load_group.ActionType = self.settings["action_type"]
+ load_group.ActionSource = self.settings["action_source"]
+ return load_group
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/data.py b/src/ifcopenshell-python/ifcopenshell/api/structural/data.py
index 8b5a567e1c..290f2b956c 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/structural/data.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/data.py
@@ -5,12 +5,14 @@ class Data:
connections = {}
boundary_conditions = {}
connects_structural_members = {}
+ members = {}
+ structural_activities = {}
+ structural_loads = {}
+ connects_structural_activities = {}
load_cases = {}
- # load_case_combinations = {}
- # load_groups = {}
- # structural_activities = {}
- # connects_structural_activities = {}
+ load_case_combinations = {}
+ load_groups = {}
@classmethod
def purge(cls):
@@ -20,7 +22,14 @@ class Data:
cls.connections = {}
cls.boundary_conditions = {}
cls.connects_structural_members = {}
+ cls.members = {}
+ cls.structural_activities = {}
+ cls.structural_loads = {}
+ cls.connects_structural_activities = {}
+
cls.load_cases = {}
+ cls.load_case_combinations = {}
+ cls.load_groups = {}
@classmethod
def load(cls, file, product_id=None):
@@ -28,9 +37,20 @@ class Data:
if not cls._file:
return
if product_id:
- return cls.load_structural_connection(product_id)
+ product = cls._file.by_id(product_id)
+ if product.is_a("IfcStructuralConnection"):
+ return cls.load_structural_connection(product_id)
+ if product.is_a("IfcStructuralMember"):
+ return cls.load_structural_member(product_id)
+ # if product.is_a("IfcStructuralAction"):
+ # return cls.load_structural_action(product_id)
cls.load_structural_analysis_models()
cls.load_structural_load_cases()
+ cls.load_structural_load_case_combinations()
+ cls.load_structural_load_groups()
+ cls.load_structural_activities()
+ cls.load_structural_loads()
+ cls.load_boundary_conditions()
cls.is_loaded = True
@classmethod
@@ -45,7 +65,6 @@ class Data:
cls.products.setdefault(product.id(), []).append(model.id())
data = model.get_info()
del data["OwnerHistory"]
- del data["OrientationOf2DPlane"]
loaded_by = []
for load_group in model.LoadedBy or []:
@@ -57,6 +76,7 @@ class Data:
has_results.append(result_group.id())
data["HasResults"] = has_results
+ data["OrientationOf2DPlane"] = model.OrientationOf2DPlane.id() if model.OrientationOf2DPlane else None
data["SharedPlacement"] = model.SharedPlacement.id() if model.SharedPlacement else None
cls.structural_analysis_models[model.id()] = data
@@ -66,10 +86,21 @@ class Data:
cls.load_cases = {}
for case in cls._file.by_type("IfcStructuralLoadCase"):
- # if case.IsGroupedBy:
- # for rel in case.IsGroupedBy:
- # for product in rel.RelatedObjects:
- # cls.products.setdefault(product.id(), []).append(case.id())
+ data = case.get_info()
+ del data["OwnerHistory"]
+ is_grouped_by = []
+ for rel in case.IsGroupedBy or []:
+ is_grouped_by.extend([o.id() for o in rel.RelatedObjects])
+ data["IsGroupedBy"] = is_grouped_by
+ cls.load_cases[case.id()] = data
+
+ @classmethod
+ def load_structural_load_case_combinations(cls):
+ cls.load_case_combinations = {}
+
+ for case in cls._file.by_type("IfcStructuralLoadGroup", include_subtypes=False):
+ if case.PredefinedType != "LOAD_COMBINATION":
+ continue
data = case.get_info()
del data["OwnerHistory"]
@@ -78,28 +109,65 @@ class Data:
is_grouped_by.append(load_group.id())
data["IsGroupedBy"] = is_grouped_by
- cls.load_cases[case.id()] = data
+ cls.load_case_combinations[case.id()] = data
- print(data)
+ @classmethod
+ def load_structural_load_groups(cls):
+ cls.load_groups = {}
+
+ for case in cls._file.by_type("IfcStructuralLoadGroup", include_subtypes=False):
+ if case.PredefinedType == "LOAD_COMBINATION":
+ continue
+ data = case.get_info()
+ del data["OwnerHistory"]
+
+ is_grouped_by = []
+ for rel in case.IsGroupedBy or []:
+ is_grouped_by.extend([o.id() for o in rel.RelatedObjects])
+ data["IsGroupedBy"] = is_grouped_by
+
+ cls.load_groups[case.id()] = data
+
+ @classmethod
+ def load_structural_activities(cls):
+ cls.structural_activities = {}
+ for activity in cls._file.by_type("IfcStructuralActivity"):
+ data = activity.get_info()
+ del data["OwnerHistory"]
+ del data["ObjectPlacement"]
+ del data["Representation"]
+ data["AppliedLoad"] = data["AppliedLoad"].id() if data["AppliedLoad"] else None
+ data["AssignedToStructuralItem"] = None
+ if activity.AssignedToStructuralItem:
+ data["AssignedToStructuralItem"] = activity.AssignedToStructuralItem[0].RelatingElement.id()
+ cls.structural_activities[activity.id()] = data
@classmethod
def load_structural_connection(cls, product_id):
- cls.connections = {}
- cls.boundary_conditions = {}
cls.connects_structural_members = {}
connection = cls._file.by_id(product_id)
- connection_data = {"AppliedCondition": None, "ConnectsStructuralMembers": []}
+ data = connection.get_info()
+ del data["OwnerHistory"]
+
+ data["ObjectPlacement"] = data["ObjectPlacement"].id() if data["ObjectPlacement"] is not None else None
+ data["Representation"] = data["Representation"].id() if data["Representation"] is not None else None
+ if connection.is_a("IfcStructuralCurveConnection"):
+ data["Axis"] = data["Axis"].id() if data["Axis"] is not None else None
+ if connection.is_a("IfcStructuralPointConnection"):
+ data["ConditionCoordinateSystem"] = data["ConditionCoordinateSystem"].id() if data["ConditionCoordinateSystem"] is not None else None
+
+ data["ConnectsStructuralMembers"] = []
if connection.AppliedCondition:
cls.load_boundary_condition(connection.AppliedCondition)
- connection_data["AppliedCondition"] = connection.AppliedCondition.id()
+ data["AppliedCondition"] = connection.AppliedCondition.id()
for rel in connection.ConnectsStructuralMembers or []:
cls.load_connects_structural_member(rel)
- connection_data["ConnectsStructuralMembers"].append(rel.id())
+ data["ConnectsStructuralMembers"].append(rel.id())
- cls.connections[connection.id()] = connection_data
+ cls.connections[connection.id()] = data
@classmethod
def load_boundary_condition(cls, boundary_condition):
@@ -119,10 +187,68 @@ class Data:
del rel_data["ConditionCoordinateSystem"] # TODO: consider orientation
if rel.is_a("IfcRelConnectsWithEccentricity"):
- rel_data["ConnectionConstraint"] = rel.ConnectionConstraint # TODO
+ rel_data["ConnectionConstraint"] = rel.ConnectionConstraint.id() # TODO
if rel.AppliedCondition:
cls.load_boundary_condition(rel.AppliedCondition)
rel_data["AppliedCondition"] = rel.AppliedCondition.id()
cls.connects_structural_members[rel.id()] = rel_data
+
+ @classmethod
+ def load_structural_loads(cls):
+ cls.structural_loads = {}
+ for load in cls._file.by_type("IfcStructuralLoad"):
+ cls.load_structural_load(load)
+
+ @classmethod
+ def load_structural_load(cls, load):
+ cls.structural_loads[load.id()] = load.get_info()
+
+ @classmethod
+ def load_boundary_conditions(cls):
+ cls.boundary_conditions = {}
+ for bc in cls._file.by_type("IfcBoundaryCondition"):
+ cls.load_boundary_condition(bc)
+
+ @classmethod
+ def load_connects_structural_activity(cls, rel):
+ rel_data = rel.get_info()
+ del rel_data["OwnerHistory"]
+ rel_data["RelatingElement"] = rel.RelatingElement.id()
+ rel_data["RelatedStructuralActivity"] = rel.RelatedStructuralActivity.id()
+
+ if rel.RelatedStructuralActivity.AppliedLoad:
+ cls.load_structural_load(rel.RelatedStructuralActivity.AppliedLoad)
+ # rel_data["AppliedCondition"] = rel.RelatedStructuralActivity.AppliedLoad.id()
+
+ cls.connects_structural_activities[rel.id()] = rel_data
+
+ @classmethod
+ def load_structural_member(cls, product_id):
+ cls.connects_structural_activities = {}
+ cls.connects_structural_members = {}
+
+ member = cls._file.by_id(product_id)
+ data = member.get_info()
+
+ del data["OwnerHistory"]
+
+ data["ObjectPlacement"] = data["ObjectPlacement"].id() if data["ObjectPlacement"] is not None else None
+ data["Representation"] = data["Representation"].id() if data["Representation"] is not None else None
+ if member.is_a("IfcStructuralCurveMember"):
+ data["Axis"] = data["Axis"].id() if data["Axis"] is not None else None
+
+ data["ConnectsStructuralActivities"] = []
+ data["ConnectedBy"] = []
+
+ for activity in member.AssignedStructuralActivity or []:
+ cls.load_connects_structural_activity(activity)
+ data["ConnectsStructuralActivities"].append(activity.id())
+
+ for rel in member.ConnectedBy or []:
+ cls.load_connects_structural_member(rel)
+ data["ConnectedBy"].append(rel.id())
+
+
+ cls.members[member.id()] = data
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_connection_cs.py b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_connection_cs.py
new file mode 100644
index 0000000000..f466bbbe92
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_connection_cs.py
@@ -0,0 +1,23 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"structural_item": None, "axis": [0.0, 0.0, 1.0], "ref_direction": [1.0, 0.0, 0.0]}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if self.settings["structural_item"].ConditionCoordinateSystem is None:
+ point = self.file.createIfcCartesianPoint((0.0, 0.0, 0.0))
+ ccs = self.file.createIfcAxis2Placement3D(point, None, None)
+ self.settings["structural_item"].ConditionCoordinateSystem = ccs
+ print(ccs)
+
+ ccs = self.settings["structural_item"].ConditionCoordinateSystem
+ print("use case")
+ print(ccs)
+ if ccs.Axis and len(self.file.get_inverse(ccs.Axis)) == 1:
+ self.file.remove(ccs.Axis)
+ ccs.Axis = self.file.createIfcDirection(self.settings["axis"])
+ if ccs.RefDirection and len(self.file.get_inverse(ccs.RefDirection)) == 1:
+ self.file.remove(ccs.RefDirection)
+ ccs.RefDirection = self.file.createIfcDirection(self.settings["ref_direction"])
\ No newline at end of file
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_item_axis.py b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_item_axis.py
new file mode 100644
index 0000000000..11ed08cebb
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_item_axis.py
@@ -0,0 +1,11 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"structural_item": None, "axis": [0.0, 0.0, 1.0]}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ if len(self.file.get_inverse(self.settings["structural_item"].Axis)) == 1:
+ self.file.remove(self.settings["structural_item"].Axis)
+ self.settings["structural_item"].Axis = self.file.createIfcDirection(self.settings["axis"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_load.py b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_load.py
new file mode 100644
index 0000000000..bf60bc339c
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_load.py
@@ -0,0 +1,13 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {
+ "structural_load": None,
+ "attributes": {}
+ }
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["structural_load"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_load_case.py b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_load_case.py
new file mode 100644
index 0000000000..85bbd5c934
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/edit_structural_load_case.py
@@ -0,0 +1,10 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"load_case": None, "attributes": {}}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ for name, value in self.settings["attributes"].items():
+ setattr(self.settings["load_case"], name, value)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_boundary_condition.py b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_boundary_condition.py
index 48ca3354df..69a8244ea1 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_boundary_condition.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_boundary_condition.py
@@ -1,13 +1,20 @@
class Usecase:
def __init__(self, file, **settings):
self.file = file
- self.settings = {"connection": None}
+ self.settings = {"connection": None, "boundary_condition": None}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
- if not self.settings["connection"].AppliedCondition:
- return
- if len(self.file.get_inverse(self.settings["connection"].AppliedCondition)) == 1:
- self.file.remove(self.settings["connection"].AppliedCondition)
- self.settings["connection"].AppliedCondition = None
+ if self.settings["connection"]:
+ # remove boundary condition from a connection
+ if not self.settings["connection"].AppliedCondition:
+ return
+ if len(self.file.get_inverse(self.settings["connection"].AppliedCondition)) == 1:
+ self.file.remove(self.settings["connection"].AppliedCondition)
+ self.settings["connection"].AppliedCondition = None
+ else:
+ # remove the boundary condition
+ for conn in self.file.get_inverse(self.settings["boundary_condition"]):
+ conn.AppliedCondition = None
+ self.file.remove(self.settings["boundary_condition"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load.py b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load.py
new file mode 100644
index 0000000000..8abe47d096
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load.py
@@ -0,0 +1,9 @@
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"structural_load": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ self.file.remove(self.settings["structural_load"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load_case.py b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load_case.py
new file mode 100644
index 0000000000..aaae5460b8
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load_case.py
@@ -0,0 +1,15 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"load_case": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ for rel in self.settings["load_case"].IsGroupedBy or []:
+ self.file.remove(rel)
+ self.file.remove(self.settings["load_case"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load_group.py b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load_group.py
new file mode 100644
index 0000000000..ce145fb650
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/api/structural/remove_structural_load_group.py
@@ -0,0 +1,16 @@
+import ifcopenshell.api
+
+
+class Usecase:
+ def __init__(self, file, **settings):
+ self.file = file
+ self.settings = {"load_group": None}
+ for key, value in settings.items():
+ self.settings[key] = value
+
+ def execute(self):
+ # TODO: do a deep purge
+ for inverse in self.file.get_inverse(self.settings["load_group"]):
+ if inverse.is_a("IfcRelAssignsToGroup") and len(inverse.RelatedObjects) == 1:
+ self.file.remove(inverse)
+ self.file.remove(self.settings["load_group"])
diff --git a/src/ifcopenshell-python/ifcopenshell/api/style/add_style.py b/src/ifcopenshell-python/ifcopenshell/api/style/add_style.py
index 6221a33674..7594462cbc 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/style/add_style.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/style/add_style.py
@@ -2,15 +2,11 @@ class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
- "Name": "Name",
- "SurfaceColour": [], # RGB
- "DiffuseColour": [], # RGB
- "Transparency": 0,
- "external_definition": {
- "Location": None,
- "Identification": None,
- "Name": "Name"
- },
+ "name": "Name",
+ "surface_colour": [], # RGB
+ "diffuse_colour": [], # RGB
+ "transparency": 0,
+ "external_definition": {"location": None, "identification": None, "name": "Name"},
}
for key, value in settings.items():
self.settings[key] = value
@@ -20,22 +16,26 @@ class Usecase:
if self.settings["external_definition"]:
styles.append(self.create_externally_defined_surface_style())
# Name is filled out because Revit treats this incorrectly as the material name
- return self.file.createIfcSurfaceStyle(self.settings["Name"], "BOTH", styles)
+ return self.file.createIfcSurfaceStyle(self.settings["name"], "BOTH", styles)
def create_surface_style_rendering(self):
- return self.file.create_entity("IfcSurfaceStyleRendering", **{
- "SurfaceColour": self.create_colour_rgb(self.settings["SurfaceColour"]),
- "Transparency": (self.settings["Transparency"] - 1) * -1,
- "ReflectanceMethod": "NOTDEFINED",
- "DiffuseColour": self.create_colour_rgb(self.settings["DiffuseColour"])
- })
+ return self.file.create_entity(
+ "IfcSurfaceStyleRendering",
+ **{
+ "SurfaceColour": self.create_colour_rgb(self.settings["surface_colour"]),
+ "Transparency": self.settings["transparency"],
+ "ReflectanceMethod": "NOTDEFINED",
+ "DiffuseColour": self.create_colour_rgb(self.settings["diffuse_colour"]),
+ }
+ )
def create_externally_defined_surface_style(self):
self.file.create_entity(
- "IfcExternallyDefinedSurfaceStyle", **{
- "Location": self.settings["Location"],
- "Identification": self.settings["Identification"],
- "Name": self.settings["Name"],
+ "IfcExternallyDefinedSurfaceStyle",
+ **{
+ "Location": self.settings["location"],
+ "Identification": self.settings["identification"],
+ "Name": self.settings["name"],
}
)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/style/edit_style.py b/src/ifcopenshell-python/ifcopenshell/api/style/edit_style.py
index 61cd9311d0..e5083ff97f 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/style/edit_style.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/style/edit_style.py
@@ -3,13 +3,13 @@ class Usecase:
self.file = file
self.settings = {
"style": None,
- "SurfaceColour": [], # RGB
- "DiffuseColour": [], # RGB
- "Transparency": 0,
+ "surface_colour": [], # RGB
+ "diffuse_colour": [], # RGB
+ "transparency": 0,
"external_definition": {
- "Location": None,
- "Identification": None,
- "Name": "Name"
+ "location": None,
+ "identification": None,
+ "name": "Name"
},
}
for key, value in settings.items():
@@ -20,20 +20,20 @@ class Usecase:
for element in self.file.traverse(self.settings["style"]):
if element.is_a("IfcSurfaceStyleShading"):
if element.SurfaceColour:
- self.update_colour_rgb(element.SurfaceColour, self.settings["SurfaceColour"])
+ self.update_colour_rgb(element.SurfaceColour, self.settings["surface_colour"])
else:
- element.SurfaceColour = self.create_colour_rgb(self.settings["SurfaceColour"])
- element.Transparency = (self.settings["Transparency"] - 1) * -1
+ element.SurfaceColour = self.create_colour_rgb(self.settings["surface_colour"])
+ element.Transparency = (self.settings["transparency"] - 1) * -1
if element.is_a("IfcSurfaceStyleRendering"):
if element.DiffuseColour:
- self.update_colour_rgb(element.DiffuseColour, self.settings["DiffuseColour"])
+ self.update_colour_rgb(element.DiffuseColour, self.settings["diffuse_colour"])
else:
- element.DiffuseColour = self.create_colour_rgb(self.settings["DiffuseColour"])
+ element.DiffuseColour = self.create_colour_rgb(self.settings["diffuse_colour"])
# TODO: Move to separate usecase
#if element.is_a("IfcExternallyDefinedSurfaceStyle"):
- # element.Location = self.settings["Location"]
- # element.Identification = self.settings["Identification"]
- # element.Name = self.settings["Name"]
+ # element.Location = self.settings["location"]
+ # element.Identification = self.settings["identification"]
+ # element.Name = self.settings["name"]
# has_external_definition = True
#if not has_external_definition:
# styles = list(self.settings["style"].Styles)
@@ -43,18 +43,18 @@ class Usecase:
def create_surface_style_rendering(self):
return self.file.create_entity("IfcSurfaceStyleRendering", **{
- "SurfaceColour": self.create_colour_rgb(self.settings["SurfaceColour"]),
- "Transparency": (self.settings["Transparency"] - 1) * -1,
+ "SurfaceColour": self.create_colour_rgb(self.settings["surface_colour"]),
+ "Transparency": (self.settings["transparency"] - 1) * -1,
"ReflectanceMethod": "NOTDEFINED",
- "DiffuseColour": self.create_colour_rgb(self.settings["DiffuseColour"])
+ "DiffuseColour": self.create_colour_rgb(self.settings["diffuse_colour"])
})
def create_externally_defined_surface_style(self):
self.file.create_entity(
"IfcExternallyDefinedSurfaceStyle", **{
- "Location": self.settings["Location"],
- "Identification": self.settings["Identification"],
- "Name": self.settings["Name"],
+ "Location": self.settings["location"],
+ "Identification": self.settings["identification"],
+ "Name": self.settings["name"],
}
)
diff --git a/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py b/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py
index a162a373de..e79319377e 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py
@@ -1,5 +1,6 @@
import ifcopenshell
import ifcopenshell.api
+import ifcopenshell.util.element
class Usecase:
@@ -52,3 +53,50 @@ class Usecase:
"RelatingType": self.settings["relating_type"],
}
)
+
+ self.map_representations()
+ self.map_material_usages()
+
+ def map_representations(self):
+ if not self.settings["relating_type"].RepresentationMaps:
+ return
+ representations = []
+ if self.settings["related_object"].Representation:
+ representations = self.settings["related_object"].Representation.Representations
+ for representation in representations:
+ # TODO: check if this is right? Surely this can be a single usecase?
+ ifcopenshell.api.run(
+ "geometry.unassign_representation",
+ self.file,
+ **{"product": self.settings["related_object"], "representation": representation}
+ )
+ ifcopenshell.api.run("geometry.remove_representation", self.file, **{"representation": representation})
+ for representation_map in self.settings["relating_type"].RepresentationMaps:
+ representation = representation_map.MappedRepresentation
+ mapped_representation = ifcopenshell.api.run(
+ "geometry.map_representation", self.file, **{"representation": representation}
+ )
+ ifcopenshell.api.run(
+ "geometry.assign_representation",
+ self.file,
+ **{"product": self.settings["related_object"], "representation": mapped_representation}
+ )
+
+ def map_material_usages(self):
+ type_material = ifcopenshell.util.element.get_material(self.settings["relating_type"])
+ if not type_material:
+ return
+ if type_material.is_a("IfcMaterialLayerSet"):
+ ifcopenshell.api.run(
+ "material.assign_material",
+ self.file,
+ product=self.settings["related_object"],
+ type="IfcMaterialLayerSetUsage",
+ )
+ elif type_material.is_a("IfcMaterialProfileSet"):
+ ifcopenshell.api.run(
+ "material.assign_material",
+ self.file,
+ product=self.settings["related_object"],
+ type="IfcMaterialProfileSetUsage",
+ )
diff --git a/src/ifcopenshell-python/ifcopenshell/api/void/remove_opening.py b/src/ifcopenshell-python/ifcopenshell/api/void/remove_opening.py
index d89d44c2e0..4b0ac52048 100644
--- a/src/ifcopenshell-python/ifcopenshell/api/void/remove_opening.py
+++ b/src/ifcopenshell-python/ifcopenshell/api/void/remove_opening.py
@@ -1,3 +1,6 @@
+import ifcopenshell.api
+
+
class Usecase:
def __init__(self, file, **settings):
self.file = file
@@ -15,6 +18,6 @@ class Usecase:
if rel.RelatingOpeningElement == self.settings["opening"]:
to_remove.append(rel)
break
- self.file.remove(self.settings["opening"])
+ ifcopenshell.api.run("root.remove_product", self.file, product=self.settings["opening"])
for element in to_remove:
self.file.remove(element)
diff --git a/src/ifcopenshell-python/ifcopenshell/entity_instance.py b/src/ifcopenshell-python/ifcopenshell/entity_instance.py
index 32096f20ec..078047790a 100644
--- a/src/ifcopenshell-python/ifcopenshell/entity_instance.py
+++ b/src/ifcopenshell-python/ifcopenshell/entity_instance.py
@@ -48,20 +48,21 @@ class entity_instance(object):
>>> #423=IfcProductDefinitionShape($,$,(#409,#421))
"""
- def __init__(self, e):
+ def __init__(self, e, file):
if isinstance(e, tuple):
e = ifcopenshell_wrapper.new_IfcBaseClass(*e)
super(entity_instance, self).__setattr__("wrapped_data", e)
+ self.wrapped_data.file = file
def __getattr__(self, name):
INVALID, FORWARD, INVERSE = range(3)
attr_cat = self.wrapped_data.get_attribute_category(name)
if attr_cat == FORWARD:
return entity_instance.wrap_value(
- self.wrapped_data.get_argument(self.wrapped_data.get_argument_index(name))
+ self.wrapped_data.get_argument(self.wrapped_data.get_argument_index(name)), self.wrapped_data.file
)
elif attr_cat == INVERSE:
- return entity_instance.wrap_value(self.wrapped_data.get_inverse(name))
+ return entity_instance.wrap_value(self.wrapped_data.get_inverse(name), self.wrapped_data.file)
else:
raise AttributeError(
"entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(), name)
@@ -77,9 +78,9 @@ class entity_instance(object):
return value
@staticmethod
- def wrap_value(v):
+ def wrap_value(v, file):
def wrap(e):
- return entity_instance(e)
+ return entity_instance(e, file)
def is_instance(e):
return isinstance(e, ifcopenshell_wrapper.entity_instance)
@@ -116,14 +117,18 @@ class entity_instance(object):
return self.wrapped_data.get_argument_name(attr_idx)
def __setattr__(self, key, value):
- self[self.wrapped_data.get_argument_index(key)] = value
+ index = self.wrapped_data.get_argument_index(key)
+ self[index] = value
def __getitem__(self, key):
if key < 0 or key >= len(self):
raise IndexError("Attribute index {} out of range for instance of type {}".format(key, self.is_a()))
- return entity_instance.wrap_value(self.wrapped_data.get_argument(key))
+ return entity_instance.wrap_value(self.wrapped_data.get_argument(key), self.wrapped_data.file)
def __setitem__(self, idx, value):
+ if self.wrapped_data.file.transaction:
+ self.wrapped_data.file.transaction.store_edit(self, idx, value)
+
attr_type = real_attr_type = self.attribute_type(idx).title().replace(" ", "")
real_attr_type = real_attr_type.replace("Derived", "None")
attr_type = attr_type.replace("Binary", "String")
@@ -271,7 +276,7 @@ class entity_instance(object):
return return_type(_())
__dict__ = property(get_info)
-
+
def get_info_2(self, include_identifier=True, recursive=False, return_type=dict, ignore=()):
assert include_identifier
assert recursive
diff --git a/src/ifcopenshell-python/ifcopenshell/express/templates.py b/src/ifcopenshell-python/ifcopenshell/express/templates.py
index 94001ee7ae..4341c7957b 100644
--- a/src/ifcopenshell-python/ifcopenshell/express/templates.py
+++ b/src/ifcopenshell-python/ifcopenshell/express/templates.py
@@ -197,6 +197,10 @@ const char* %(schema_name)s::%(name)s::ToString(Value v) {
%(from_string_statements)s
throw IfcException("Unable to find find keyword in schema");
}
+
+%(schema_name)s::%(name)s::operator %(schema_name)s::%(name)s::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
"""
entity_implementation = """// Function implementations for %(name)s
diff --git a/src/ifcopenshell-python/ifcopenshell/file.py b/src/ifcopenshell-python/ifcopenshell/file.py
index cb98e3b79e..4e57a9830c 100644
--- a/src/ifcopenshell-python/ifcopenshell/file.py
+++ b/src/ifcopenshell-python/ifcopenshell/file.py
@@ -35,6 +35,101 @@ except NameError:
basestring = (str, bytes)
+class Transaction:
+ def __init__(self, ifc_file):
+ self.file = ifc_file
+ self.operations = []
+
+ def serialise_entity_instance(self, element):
+ info = element.get_info()
+ for key, value in info.items():
+ info[key] = self.serialise_value(element, value)
+ return info
+
+ def serialise_value(self, element, value):
+ return element.walk(lambda v: isinstance(v, entity_instance), lambda v: {"id": v.id()}, value)
+
+ def unserialise_value(self, element, value):
+ return element.walk(lambda v: isinstance(v, dict), lambda v: self.file.by_id(v["id"]), value)
+
+ def store_create(self, element):
+ self.operations.append({"action": "create", "value": self.serialise_entity_instance(element)})
+
+ def store_edit(self, element, index, value):
+ self.operations.append(
+ {
+ "action": "edit",
+ "id": element.id(),
+ "index": index,
+ "old": self.serialise_value(element, element[index]),
+ "new": self.serialise_value(element, value),
+ }
+ )
+
+ def store_delete(self, element):
+ inverses = {}
+ for inverse in self.file.get_inverse(element):
+ inverse_references = []
+ for i, attribute in enumerate(inverse):
+ if self.has_element_reference(attribute, element):
+ inverse_references.append((i, self.serialise_value(inverse, attribute)))
+ inverses[inverse.id()] = inverse_references
+ self.operations.append(
+ {"action": "delete", "inverses": inverses, "value": self.serialise_entity_instance(element)}
+ )
+
+ def has_element_reference(self, value, element):
+ if isinstance(value, (tuple, list)):
+ for v in value:
+ return self.has_element_reference(v, element)
+ return value == element
+
+ def rollback(self):
+ for operation in self.operations[::-1]:
+ if operation["action"] == "create":
+ element = self.file.by_id(operation["value"]["id"])
+ if hasattr(element, "GlobalId"):
+ # hack, otherwise ifcopenshell gets upset
+ element.GlobalId = "x"
+ self.file.remove(element)
+ elif operation["action"] == "edit":
+ element = self.file.by_id(operation["id"])
+ try:
+ element[operation["index"]] = self.unserialise_value(element, operation["old"])
+ except:
+ # Catch discrepancy where IfcOpenShell creates but doesn't allow editing of invalid values
+ pass
+ elif operation["action"] == "delete":
+ e = self.file.create_entity(operation["value"]["type"], id=operation["value"]["id"])
+ for k, v in operation["value"].items():
+ try:
+ setattr(e, k, self.unserialise_value(e, v))
+ except:
+ # Catch discrepancy where IfcOpenShell creates but doesn't allow editing of invalid values
+ pass
+ for inverse_id, data in operation["inverses"].items():
+ inverse = self.file.by_id(inverse_id)
+ for index, value in data:
+ inverse[index] = self.unserialise_value(inverse, value)
+
+ def commit(self):
+ for operation in self.operations:
+ if operation["action"] == "create":
+ e = self.file.create_entity(operation["value"]["type"], id=operation["value"]["id"])
+ for k, v in operation["value"].items():
+ try:
+ setattr(e, k, self.unserialise_value(e, v))
+ except:
+ # Catch discrepancy where IfcOpenShell creates but doesn't allow editing of invalid values
+ pass
+ elif operation["action"] == "edit":
+ element = self.file.by_id(operation["id"])
+ element[operation["index"]] = self.unserialise_value(element, operation["new"])
+ elif operation["action"] == "delete":
+ element = self.file.by_id(operation["value"]["id"])
+ self.file.remove(element)
+
+
class file(object):
"""Base class for containing IFC files.
@@ -59,6 +154,45 @@ class file(object):
args = filter(None, [schema])
args = map(ifcopenshell_wrapper.schema_by_name, args)
self.wrapped_data = ifcopenshell_wrapper.file(*args)
+ self.history_size = 64
+ self.history = []
+ self.future = []
+ self.transaction = None
+
+ def set_history_size(self, size):
+ self.history_size = size
+ while len(self.history) > self.history_size:
+ self.history.pop(0)
+
+ def begin_transaction(self):
+ self.transaction = Transaction(self)
+
+ def end_transaction(self):
+ if self.transaction:
+ self.history.append(self.transaction)
+ if len(self.history) > self.history_size:
+ self.history.pop(0)
+ self.future = []
+ self.transaction = None
+
+ def discard_transaction(self):
+ if self.transaction:
+ self.transaction.rollback()
+ self.transaction = None
+
+ def undo(self):
+ if not self.history:
+ return
+ transaction = self.history.pop()
+ transaction.rollback()
+ self.future.append(transaction)
+
+ def redo(self):
+ if not self.future:
+ return
+ transaction = self.future.pop()
+ transaction.commit()
+ self.history.append(transaction)
def create_entity(self, type, *args, **kwargs):
"""Create a new IFC entity in the file.
@@ -80,12 +214,19 @@ class file(object):
f.create_entity('IfcPerson', Identification='Foobar')
>>> #3=IfcPerson('Foobar',$,$,$,$,$,$,$)
"""
- e = entity_instance((self.schema, type))
- self.wrapped_data.add(e.wrapped_data)
+ eid = -1
+ try:
+ eid = kwargs.pop("id", -1)
+ except:
+ pass
+ e = entity_instance((self.schema, type), self)
+ self.wrapped_data.add(e.wrapped_data, eid)
e.wrapped_data.this.disown()
attrs = list(enumerate(args)) + [(e.wrapped_data.get_argument_index(name), arg) for name, arg in kwargs.items()]
for idx, arg in attrs:
e[idx] = arg
+ if self.transaction:
+ self.transaction.store_create(e)
return e
def __getattr__(self, attr):
@@ -96,9 +237,9 @@ class file(object):
def __getitem__(self, key):
if isinstance(key, numbers.Integral):
- return entity_instance(self.wrapped_data.by_id(key))
+ return entity_instance(self.wrapped_data.by_id(key), self)
elif isinstance(key, basestring):
- return entity_instance(self.wrapped_data.by_guid(str(key)))
+ return entity_instance(self.wrapped_data.by_guid(str(key)), self)
def by_id(self, id):
"""Return an IFC entity instance filtered by IFC ID.
@@ -120,12 +261,12 @@ class file(object):
"""
return self[guid]
- def add(self, inst):
+ def add(self, inst, _id=None):
"""Adds an entity including any dependent entities to an IFC file.
If the entity already exists, it is not re-added."""
inst.wrapped_data.this.disown()
- return entity_instance(self.wrapped_data.add(inst.wrapped_data))
+ return entity_instance(self.wrapped_data.add(inst.wrapped_data, -1 if _id is None else _id), self)
def by_type(self, type, include_subtypes=True):
"""Return IFC objects filtered by IFC Type and wrapped with the entity_instance class.
@@ -140,8 +281,8 @@ class file(object):
:rtype: list
"""
if include_subtypes:
- return [entity_instance(e) for e in self.wrapped_data.by_type(type)]
- return [entity_instance(e) for e in self.wrapped_data.by_type_excl_subtypes(type)]
+ return [entity_instance(e, self) for e in self.wrapped_data.by_type(type)]
+ return [entity_instance(e, self) for e in self.wrapped_data.by_type_excl_subtypes(type)]
def traverse(self, inst, max_levels=None):
"""Get a list of all referenced instances for a particular instance including itself
@@ -155,7 +296,7 @@ class file(object):
"""
if max_levels is None:
max_levels = -1
- return [entity_instance(e) for e in self.wrapped_data.traverse(inst.wrapped_data, max_levels)]
+ return [entity_instance(e, self) for e in self.wrapped_data.traverse(inst.wrapped_data, max_levels)]
def get_inverse(self, inst):
"""Return a list of entities that reference this entity
@@ -165,7 +306,7 @@ class file(object):
:returns: A list of ifcopenshell.entity_instance.entity_instance objects
:rtype: list
"""
- return [entity_instance(e) for e in self.wrapped_data.get_inverse(inst.wrapped_data)]
+ return [entity_instance(e, self) for e in self.wrapped_data.get_inverse(inst.wrapped_data)]
def remove(self, inst):
"""Deletes an IFC object in the file.
@@ -178,12 +319,14 @@ class file(object):
:type inst: ifcopenshell.entity_instance.entity_instance
:rtype: None
"""
+ if self.transaction:
+ self.transaction.store_delete(inst)
return self.wrapped_data.remove(inst.wrapped_data)
-
+
def batch(self):
"""Low-level mechanism to speed up deletion of large subgraphs"""
return self.wrapped_data.batch()
-
+
def unbatch(self):
"""Low-level mechanism to speed up deletion of large subgraphs"""
return self.wrapped_data.unbatch()
diff --git a/src/ifcopenshell-python/ifcopenshell/geom/main.py b/src/ifcopenshell-python/ifcopenshell/geom/main.py
index 56bfed239a..5aeb6cfc17 100644
--- a/src/ifcopenshell-python/ifcopenshell/geom/main.py
+++ b/src/ifcopenshell-python/ifcopenshell/geom/main.py
@@ -149,9 +149,17 @@ class tree(ifcopenshell_wrapper.tree):
args = [self, unwrap(value)]
if isinstance(value, entity_instance):
args.append(kwargs.get("completely_within", False))
+ if "extend" in kwargs:
+ args.append(kwargs["extend"])
+ elif isinstance(value, (list, tuple)) and len(value) == 3 and set(map(type, value)) == {float}:
+ if "extend" in kwargs:
+ args.append(kwargs["extend"])
elif has_occ:
if isinstance(value, TopoDS.TopoDS_Shape):
args[1] = utils.serialize_shape(value)
+ args.append(kwargs.get("completely_within", False))
+ if "extend" in kwargs:
+ args.append(kwargs["extend"])
return [entity_instance(e) for e in ifcopenshell_wrapper.tree.select(*args)]
def select_box(self, value, **kwargs):
diff --git a/src/ifcopenshell-python/ifcopenshell/transition_curve.py b/src/ifcopenshell-python/ifcopenshell/transition_curve.py
new file mode 100644
index 0000000000..b06f135f69
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/transition_curve.py
@@ -0,0 +1,188 @@
+###############################################################################
+# #
+# This file is part of IfcOpenShell. #
+# #
+# IfcOpenShell is free software: you can redistribute it and/or modify #
+# it under the terms of the Lesser GNU General Public License as published by #
+# the Free Software Foundation, either version 3.0 of the License, or #
+# (at your option) any later version. #
+# #
+# IfcOpenShell is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# Lesser GNU General Public License for more details. #
+# #
+# You should have received a copy of the Lesser GNU General Public License #
+# along with this program. If not, see . #
+# #
+###############################################################################
+
+from enum import Enum
+from dataclasses import dataclass
+import math
+
+from OCC.Core.gp import gp_Pnt2d
+from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge2d
+from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeWire
+
+
+class IfcTransitionCurveType(Enum):
+ """IFC 4.1 Section 8.9.2.9
+ [https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcgeometryresource/lexical/ifctransitioncurvetype.htm]
+
+ The IfcTransitionCurveType indicates the curvature of a transition curve.
+ """
+ BIQUADRATICPARABOLA = 1 # NOTE also referred to as Schramm curve.
+ BLOSSCURVE = 2
+ CLOTHOIDCURVE = 3
+ COSINECURVE = 4
+ CUBICPARABOLA = 5
+ SINECURVE = 6 # NOTE also referred to as Klein curve
+
+
+@dataclass
+class TransitionCurve:
+ """
+ A curve that transitions between a straight line and a circular arc
+ (or the reverse).
+ """
+ StartPoint: tuple # IfcSchema::IfcCartesianPoint
+ StartDirection: float # IfcSchema::IfcPlaneAngleMeasure
+ SegmentLength: float # IfcSchema::IfcPositiveLengthMeasure
+ IsStartRadiusCCW: bool # IfcSchema::IfcBoolean
+ IsEndRadiusCCW: bool # IfcSchema::IfcBoolean
+ TransitionCurveType: IfcTransitionCurveType
+ StartRadius: float = None # IfcSchema::IfcPositiveLengthMeasure
+ EndRadius: float = None # IfcSchema::IfcPositiveLengthMeasure
+
+ def _calc_biquadratic_parabola_point(self, lpt, L, R, ccw):
+ x = lpt
+ if (x <= (L / 2)):
+ y = x**4 / (6 * R * L**2)
+ else:
+
+ yterm_1 = (-1 * x**4) / (6 * R * L**2)
+ yterm_2 = (2 * x**3) / (3 * R * L)
+ yterm_3 = x**2 / (2 * R)
+ yterm_4 = (L * x) / (6 * R)
+ yterm_5 = L**2 / (48 * R)
+
+ y = yterm_1 + yterm_2 - yterm_3 + yterm_4 - yterm_5
+
+ if not ccw:
+ y = -y
+
+ return gp_Pnt2d(x, y)
+
+ def _calc_bloss_curve_point(self, lpt, L, R, ccw):
+ pass
+
+ def _calc_clothoid_curve_point(self, lpt, L, R, ccw):
+ RL = R * L
+ xterm_1 = 1
+ xterm_2 = lpt**4 / (40 * RL**2)
+ xterm_3 = lpt**8 / (3456 * RL**4)
+ xterm_4 = lpt**12 / (599040 * RL**6)
+ x = lpt * (xterm_1 - xterm_2 + xterm_3 - xterm_4)
+
+ factor = lpt**3 / (6 * RL)
+ yterm_1 = 1
+ yterm_2 = lpt**4 / (56 * RL**2)
+ yterm_3 = lpt**8 / (7040 * RL**4)
+ yterm_4 = lpt**12 / (1612800 * RL**6)
+
+ y = factor * (yterm_1 - yterm_2 + yterm_3 - yterm_4)
+
+ if not ccw:
+ y = -y
+
+ return gp_Pnt2d(x, y)
+
+ def _calc_cosine_curve_point(self, lpt, L, R, ccw):
+ pi = math.pi
+ psi_x = (pi * lpt) / L
+
+ xterm_1 = (L**2) / (8.0 * pi**2 * R**2)
+ xterm_2 = L / pi
+ xterm_3 = psi_x**3 / (3.0)
+ xterm_4 = psi_x / (2.0)
+ xterm_5 = (math.sin(psi_x) * math.cos(psi_x)) / (2.0)
+ xterm_6 = psi_x * math.cos(psi_x)
+
+ x = lpt - xterm_1 * xterm_2 * ( xterm_3 + xterm_4 - xterm_5 - (2.0 * xterm_6))
+
+ # TODO: code for y - coordinate
+ y = 0
+
+ if not ccw:
+ y = -y
+
+ return gp_Pnt2d(x, y)
+
+ def _calc_cubic_parabola_point(self, lpt, L, R, ccw):
+
+ x = lpt
+ y = math.pow(x, 3) / (6 * R * L)
+ if not ccw:
+ y = -y
+
+ return gp_Pnt2d(x, y)
+
+ def _calc_sine_curve_point(self, lpt, L, R, ccw):
+ pass
+
+ def _calc_transition_curve_point(self, lpt, L, R, ccw, trans_type):
+
+ if trans_type == "BIQUADRATICPARABOLA":
+ return self._calc_cubic_parabola_point(lpt, L, R, ccw)
+ elif trans_type == "BLOSSCURVE":
+ # return _calc_bloss_curve_point(lpt, L, R, ccw)
+ raise ValueError(f"Transition Curve type '{trans_type}' not implemented yet.")
+ elif trans_type == "CLOTHOIDCURVE":
+ return self._calc_clothoid_curve_point(lpt, L, R, ccw)
+ elif trans_type == "COSINECURVE":
+ # return _calc_cosine_curve_point(lpt, L, R, ccw)
+ raise ValueError(f"Transition Curve type '{trans_type}' not implemented yet.")
+ elif trans_type == "CUBICPARABOLA":
+ return self._calc_cubic_parabola_point(lpt, L, R, ccw)
+ elif trans_type == "SINECURVE":
+ # return _calc_sine_curve_point(lpt, L, R, ccw)
+ raise ValueError(f"Transition Curve type '{trans_type}' not implemented yet.")
+ else:
+ raise ValueError(f"Invalid Transition Curve type '{trans_type}'.")
+
+ def to_wire(self, stroking_interval=5.0):
+ """convert IfcTransitionSegment2D to OCC wire
+
+ :param stroking_interval: maximum curve length between points to be calculated
+ :type stroking_interval: float
+ :return: OCC wire containing interpolated points
+ """
+ points = list()
+
+ L = self.SegmentLength
+ R = self.EndRadius
+ ccw = self.IsStartRadiusCCW
+ trans_type = self.TransitionCurveType.name
+
+ num_intervals = math.ceil(L / stroking_interval)
+ interval_dist = L / num_intervals
+ lpt = 0.0 # length along the curve at the point to be calculated
+
+ for _ in range(num_intervals):
+ points.append(self._calc_transition_curve_point(
+ lpt, L, R, ccw, trans_type
+ ))
+ lpt += interval_dist
+
+ edges = list()
+ for i in range(len(points) - 1):
+ edges.append(BRepBuilderAPI_MakeEdge2d(
+ points[i], points[i + 1]
+ ))
+
+ wire = BRepBuilderAPI_MakeWire()
+ for e in edges:
+ wire.Add(e.Edge())
+ # return wire
+ return points
diff --git a/src/ifcopenshell-python/ifcopenshell/util/date.py b/src/ifcopenshell-python/ifcopenshell/util/date.py
index 65a63b75c2..c14fff1221 100644
--- a/src/ifcopenshell-python/ifcopenshell/util/date.py
+++ b/src/ifcopenshell-python/ifcopenshell/util/date.py
@@ -22,12 +22,12 @@ def timedelta2duration(timedelta):
def ifc2datetime(element):
- if isinstance(element, str) and element[0] == "P": # IfcDuration
+ if isinstance(element, str) and "P" in element[0:2]: # IfcDuration
duration = isodate.parse_duration(element)
if isinstance(duration, datetime.timedelta):
return timedelta2duration(duration)
return duration
- elif isinstance(element, str) and element[2] == ":": # IfcTime
+ elif isinstance(element, str) and len(element) > 3 and element[2] == ":": # IfcTime
return datetime.time.fromisoformat(element)
elif isinstance(element, str) and ":" in element: # IfcDateTime
return datetime.datetime.fromisoformat(element)
diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py
index b232721482..f245f9b4e8 100644
--- a/src/ifcopenshell-python/ifcopenshell/util/element.py
+++ b/src/ifcopenshell-python/ifcopenshell/util/element.py
@@ -1,20 +1,17 @@
+import ifcopenshell
+
+
def get_psets(element):
psets = {}
- try:
- if element.is_a("IfcTypeObject"):
- if element.HasPropertySets:
- for definition in element.HasPropertySets:
- psets[definition.Name] = get_property_definition(definition)
- else:
- for relationship in element.IsDefinedBy:
- if relationship.is_a("IfcRelDefinesByProperties"):
- definition = relationship.RelatingPropertyDefinition
- psets[definition.Name] = get_property_definition(definition)
- except Exception as e:
- import traceback
-
- print("failed to load properties: {}".format(e))
- traceback.print_exc()
+ if element.is_a("IfcTypeObject"):
+ if element.HasPropertySets:
+ for definition in element.HasPropertySets:
+ psets[definition.Name] = get_property_definition(definition)
+ elif hasattr(element, "IsDefinedBy"):
+ for relationship in element.IsDefinedBy:
+ if relationship.is_a("IfcRelDefinesByProperties"):
+ definition = relationship.RelatingPropertyDefinition
+ psets[definition.Name] = get_property_definition(definition)
return psets
@@ -55,7 +52,9 @@ def get_properties(properties):
def get_type(element):
- if hasattr(element, "IsTypedBy") and element.IsTypedBy:
+ if element.is_a("IfcTypeObject"):
+ return element
+ elif hasattr(element, "IsTypedBy") and element.IsTypedBy:
return element.IsTypedBy[0].RelatingType
elif hasattr(element, "IsDefinedBy") and element.IsDefinedBy: # IFC2X3
for relationship in element.IsDefinedBy:
@@ -63,23 +62,20 @@ def get_type(element):
return relationship.RelatingType
-def get_material(element):
+def get_material(element, should_skip_usage=False):
if hasattr(element, "HasAssociations") and element.HasAssociations:
for relationship in element.HasAssociations:
if relationship.is_a("IfcRelAssociatesMaterial"):
- if relationship.RelatingMaterial.is_a("IfcMaterialLayerSetUsage"):
- return relationship.RelatingMaterial.ForLayerSet
- elif relationship.RelatingMaterial.is_a("IfcMaterialProfileSetUsage"):
- return relationship.RelatingMaterial.ForProfileSet
+ if should_skip_usage:
+ if relationship.RelatingMaterial.is_a("IfcMaterialLayerSetUsage"):
+ return relationship.RelatingMaterial.ForLayerSet
+ elif relationship.RelatingMaterial.is_a("IfcMaterialProfileSetUsage"):
+ return relationship.RelatingMaterial.ForProfileSet
return relationship.RelatingMaterial
relating_type = get_type(element)
if hasattr(relating_type, "HasAssociations") and relating_type.HasAssociations:
for relationship in relating_type.HasAssociations:
if relationship.is_a("IfcRelAssociatesMaterial"):
- if relationship.RelatingMaterial.is_a("IfcMaterialLayerSetUsage"):
- return relationship.RelatingMaterial.ForLayerSet
- elif relationship.RelatingMaterial.is_a("IfcMaterialProfileSetUsage"):
- return relationship.RelatingMaterial.ForProfileSet
return relationship.RelatingMaterial
@@ -95,32 +91,16 @@ def get_aggregate(element):
def replace_attribute(element, old, new):
for i, attribute in enumerate(element):
- if attribute == old:
- element[i] = new
- elif isinstance(attribute, tuple):
- new_attribute = list(attribute)
- for j, item in enumerate(attribute):
- if item == old:
- new_attribute[j] = new
- element[i] = new_attribute
+ if has_element_reference(attribute, old):
+ new_attribute = element.walk(lambda v: v == old, lambda v: new, attribute)
+ element[i] = new_attribute
-def is_representation_of_context(representation, context, subcontext=None, target_view=None):
- if target_view is not None:
- return (
- representation.ContextOfItems.is_a("IfcGeometricRepresentationSubContext")
- and representation.ContextOfItems.TargetView == target_view
- and representation.ContextOfItems.ContextIdentifier == subcontext
- and representation.ContextOfItems.ContextType == context
- )
- elif subcontext is not None:
- return (
- representation.ContextOfItems.is_a("IfcGeometricRepresentationSubContext")
- and representation.ContextOfItems.ContextIdentifier == subcontext
- and representation.ContextOfItems.ContextType == context
- )
- elif representation.ContextOfItems.ContextType == context:
- return True
+def has_element_reference(value, element):
+ if isinstance(value, (tuple, list)):
+ for v in value:
+ return has_element_reference(v, element)
+ return value == element
def remove_deep(ifc_file, element):
@@ -134,12 +114,25 @@ def remove_deep(ifc_file, element):
ifc_file.unbatch()
-def get_representation(element, context, subcontext=None, target_view=None):
- if element.is_a("IfcProduct") and element.Representation:
- for r in element.Representation.Representations:
- if is_representation_of_context(r, context, subcontext, target_view):
- return r
- elif element.is_a("IfcTypeProduct") and element.RepresentationMaps:
- for r in element.RepresentationMaps:
- if is_representation_of_context(r.MappedRepresentation, context, subcontext, target_view):
- return r.MappedRepresentation
+def copy(ifc_file, element):
+ new = ifc_file.create_entity(element.is_a())
+ for i, attribute in enumerate(element):
+ if attribute is None:
+ continue
+ new[i] = attribute
+ return new
+
+
+def copy_deep(ifc_file, element):
+ new = ifc_file.create_entity(element.is_a())
+ for i, attribute in enumerate(element):
+ if attribute is None:
+ continue
+ if isinstance(attribute, ifcopenshell.entity_instance):
+ attribute = copy_deep(ifc_file, attribute)
+ elif isinstance(attribute, tuple) and attribute and isinstance(attribute[0], ifcopenshell.entity_instance):
+ attribute = list(attribute)
+ for j, item in enumerate(attribute):
+ attribute[j] = copy_deep(ifc_file, item)
+ new[i] = attribute
+ return new
diff --git a/src/ifcopenshell-python/ifcopenshell/util/representation.py b/src/ifcopenshell-python/ifcopenshell/util/representation.py
new file mode 100644
index 0000000000..99e608b07f
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/util/representation.py
@@ -0,0 +1,42 @@
+def get_context(ifc_file, context, subcontext=None, target_view=None):
+ if subcontext or target_view:
+ elements = ifc_file.by_type("IfcGeometricRepresentationSubContext")
+ else:
+ elements = ifc_file.by_type("IfcGeometricRepresentationContext", include_subtypes=False)
+ for element in elements:
+ if context and element.ContextType != context:
+ continue
+ if subcontext and getattr(element, "ContextIdentifier") != subcontext:
+ continue
+ if target_view and getattr(element, "TargetView") != target_view:
+ continue
+ return element
+
+
+def is_representation_of_context(representation, context, subcontext=None, target_view=None):
+ if target_view is not None:
+ return (
+ representation.ContextOfItems.is_a("IfcGeometricRepresentationSubContext")
+ and representation.ContextOfItems.TargetView == target_view
+ and representation.ContextOfItems.ContextIdentifier == subcontext
+ and representation.ContextOfItems.ContextType == context
+ )
+ elif subcontext is not None:
+ return (
+ representation.ContextOfItems.is_a("IfcGeometricRepresentationSubContext")
+ and representation.ContextOfItems.ContextIdentifier == subcontext
+ and representation.ContextOfItems.ContextType == context
+ )
+ elif representation.ContextOfItems.ContextType == context:
+ return True
+
+
+def get_representation(element, context, subcontext=None, target_view=None):
+ if element.is_a("IfcProduct") and element.Representation:
+ for r in element.Representation.Representations:
+ if is_representation_of_context(r, context, subcontext, target_view):
+ return r
+ elif element.is_a("IfcTypeProduct") and element.RepresentationMaps:
+ for r in element.RepresentationMaps:
+ if is_representation_of_context(r.MappedRepresentation, context, subcontext, target_view):
+ return r.MappedRepresentation
diff --git a/src/ifcopenshell-python/ifcopenshell/util/selector.py b/src/ifcopenshell-python/ifcopenshell/util/selector.py
index 5317dec333..d56d69ce83 100644
--- a/src/ifcopenshell-python/ifcopenshell/util/selector.py
+++ b/src/ifcopenshell-python/ifcopenshell/util/selector.py
@@ -221,7 +221,7 @@ class Selector:
key = ".".join(key.split(".")[1:])
elif "." in key and key.split(".")[0] == "material":
try:
- element = ifcopenshell.util.element.get_material(element)
+ element = ifcopenshell.util.element.get_material(element, should_skip_usage=True)
if not element:
return None
except:
diff --git a/src/ifcopenshell-python/ifcopenshell/util/sequence.py b/src/ifcopenshell-python/ifcopenshell/util/sequence.py
new file mode 100644
index 0000000000..6fdd713386
--- /dev/null
+++ b/src/ifcopenshell-python/ifcopenshell/util/sequence.py
@@ -0,0 +1,133 @@
+import datetime
+import ifcopenshell.util.date
+from functools import lru_cache
+
+
+def derive_calendar(task):
+ calendar = [
+ rel.RelatingControl
+ for rel in task.HasAssignments or []
+ if rel.is_a("IfcRelAssignsToControl") and rel.RelatingControl.is_a("IfcWorkCalendar")
+ ]
+ if calendar:
+ return calendar[0]
+ for rel in task.Nests or []:
+ return derive_calendar(rel.RelatingObject)
+
+
+def count_working_days(start, finish, calendar):
+ result = 0
+ current_date = datetime.date(start.year, start.month, start.day)
+ finish_date = datetime.date(finish.year, finish.month, finish.day)
+ while current_date < finish_date:
+ if is_working_day(current_date, calendar):
+ result += 1
+ current_date += datetime.timedelta(days=1)
+ return result
+
+
+def get_finish_date(start, duration, duration_type, calendar):
+ current_date = datetime.date(start.year, start.month, start.day)
+ abs_duration = abs(duration.days)
+ date_offset = datetime.timedelta(days=1 if duration.days > 0 else -1)
+ while abs_duration > 0:
+ if duration_type == "ELAPSEDTIME" or not calendar:
+ abs_duration -= 1
+ elif ifcopenshell.util.sequence.is_working_day(current_date, calendar):
+ abs_duration -= 1
+ current_date += date_offset
+
+ if duration.days > 0:
+ current_date = get_soonest_working_day(current_date, duration_type, calendar)
+ else:
+ current_date = get_recent_working_day(current_date, duration_type, calendar)
+ return current_date
+
+
+def get_soonest_working_day(start, duration_type, calendar):
+ if duration_type == "ELAPSEDTIME" or not calendar:
+ return start
+ while not is_working_day(start, calendar):
+ start += datetime.timedelta(days=1)
+ return start
+
+
+def get_recent_working_day(start, duration_type, calendar):
+ if duration_type == "ELAPSEDTIME" or not calendar:
+ return start
+ while not is_working_day(start, calendar):
+ start -= datetime.timedelta(days=1)
+ return start
+
+
+@lru_cache(maxsize=None)
+def is_working_day(day, calendar):
+ is_working_day = False
+ for work_time in calendar.WorkingTimes or []:
+ if is_work_time_applicable_to_day(work_time, day):
+ is_working_day = True
+ break
+ if not is_working_day:
+ return is_working_day
+ for work_time in calendar.ExceptionTimes or []:
+ if is_work_time_applicable_to_day(work_time, day):
+ is_working_day = False
+ break
+ return is_working_day
+
+
+def is_work_time_applicable_to_day(work_time, day):
+ start = None
+ finish = None
+ if isinstance(day, datetime.datetime):
+ day = datetime.date(day.year, day.month, day.day)
+
+ if work_time.Start:
+ start = ifcopenshell.util.date.ifc2datetime(work_time.Start)
+ if start > day:
+ return False
+
+ if work_time.Finish:
+ finish = ifcopenshell.util.date.ifc2datetime(work_time.Finish)
+ if finish < day:
+ return False
+
+ if not work_time.RecurrencePattern:
+ return True
+
+ recurrence = work_time.RecurrencePattern
+
+ if recurrence.RecurrenceType == "DAILY":
+ if not recurrence.Interval and not recurrence.Occurrences:
+ return True
+ if not work_time.Start:
+ return False
+ return False # TODO
+ elif recurrence.RecurrenceType == "WEEKLY":
+ if not recurrence.Interval and not recurrence.Occurrences:
+ return (day.weekday() + 1) in recurrence.WeekdayComponent
+ if not work_time.Start:
+ return False
+ return False # TODO
+ elif recurrence.RecurrenceType == "MONTHLY_BY_DAY_OF_MONTH":
+ if not recurrence.Interval and not recurrence.Occurrences:
+ return day.day in recurrence.DayComponent
+ return False # TODO
+ elif recurrence.RecurrenceType == "MONTHLY_BY_POSITION":
+ if not recurrence.Interval and not recurrence.Occurrences:
+ return (day.weekday() + 1) in recurrence.WeekdayComponent and math.floor(day.day / 7) + 1 == recurrence[
+ "Position"
+ ]
+ return False # TODO
+ elif recurrence.RecurrenceType == "YEARLY_BY_DAY_OF_MONTH":
+ if not recurrence.Interval and not recurrence.Occurrences:
+ return day.month in recurrence.MonthComponent and day.day in recurrence.DayComponent
+ return False # TODO
+ elif recurrence.RecurrenceType == "YEARLY_BY_POSITION":
+ if not recurrence.Interval and not recurrence.Occurrences:
+ return (
+ day.month in recurrence.MonthComponent
+ and (day.weekday() + 1) in recurrence.WeekdayComponent
+ and math.floor(day.day / 7) + 1 == recurrence.Position
+ )
+ return False # TODO
diff --git a/src/ifcp6/ifcp6/msp2ifc.py b/src/ifcp6/ifcp6/msp2ifc.py
new file mode 100644
index 0000000000..29cc744d8a
--- /dev/null
+++ b/src/ifcp6/ifcp6/msp2ifc.py
@@ -0,0 +1,250 @@
+import datetime
+from datetime import timedelta
+import ifcopenshell
+import ifcopenshell.api
+import ifcopenshell.util.date
+import xml.etree.ElementTree as ET
+import blenderbim.bim.ifc
+
+class MSP2Ifc:
+ def __init__(self):
+ self.xml = None
+ self.file = None
+ self.ns = None
+ self.work_plan = None
+ self.project = {}
+ self.calendars = {}
+ self.wbs = {}
+ self.root_activites = []
+ self.tasks = {}
+ self.relationships = {}
+ self.day_map = {
+ "1": 1,
+ "2": 2,
+ "3": 3,
+ "4": 4,
+ "5": 5,
+ "6": 6,
+ "7": 7,
+ }
+
+ def execute(self):
+ self.parse_xml()
+ self.create_ifc()
+
+ def parse_xml(self):
+ tree = ET.parse(self.xml)
+ project = tree.getroot()
+ self.ns = {"pr": project.tag[1:].partition("}")[0]}
+ self.project["Name"] = project.find("pr:Name", self.ns).text
+ self.outline_level = 0
+ self.outline_parents = {}
+ self.parse_task_xml(project)
+ self.parse_calendar_xml(project)
+
+
+ def parse_relationship_xml(self, task):
+ relationships = {}
+ id = 0
+ if task.findall("pr:PredecessorLink", self.ns):
+ for relationship in task.findall("pr:PredecessorLink", self.ns):
+ relationships[id] = {
+ "PredecessorTask": relationship.find("pr:PredecessorUID", self.ns).text,
+ "Type": relationship.find("pr:Type", self.ns).text
+ }
+ id += 1
+ return relationships
+
+ def parse_task_xml(self, project):
+ for task in project.find("pr:Tasks", self.ns):
+ task_id = task.find("pr:UID", self.ns).text
+ task_index_level = task.find("pr:OutlineLevel", self.ns).text
+ wbs_id = task.find("pr:WBS", self.ns).text
+ relationships = self.parse_relationship_xml(task)
+ outline_level = int(task.find("pr:OutlineLevel", self.ns).text)
+
+ if outline_level != 0:
+ parent_task = self.tasks[self.outline_parents[outline_level-1]]
+ parent_task["subtasks"].append(task_id)
+ self.outline_level = outline_level
+ self.outline_parents[outline_level] = task_id
+
+ self.tasks[task_id] = {
+ "Name": task.find("pr:Name", self.ns).text,
+ "OutlineNumber": task.find("pr:OutlineNumber", self.ns).text,
+ "OutlineLevel": outline_level,
+ "Start": datetime.datetime.fromisoformat(task.find("pr:Start", self.ns).text),
+ "Finish": datetime.datetime.fromisoformat(task.find("pr:Finish", self.ns).text),
+ "Duration": ifcopenshell.util.date.ifc2datetime(task.find("pr:Duration", self.ns).text),
+ "Priority": task.find("pr:Priority", self.ns).text,
+ "CalendarUID": task.find("pr:CalendarUID", self.ns).text,
+ "PredecessorTasks": relationships if relationships else None,
+ "subtasks": [],
+ "ifc": None,
+ }
+
+
+ def parse_calendar_xml(self, project):
+ for calendar in project.find("pr:Calendars", self.ns).findall("pr:Calendar", self.ns):
+ calendar_id = calendar.find("pr:UID", self.ns).text
+ week_days = []
+ for week_day in calendar.find("pr:WeekDays", self.ns).findall(
+ "pr:WeekDay", self.ns
+ ):
+ working_times = []
+ if week_day.find("pr:WorkingTimes", self.ns):
+ for working_time in week_day.find("pr:WorkingTimes", self.ns).findall("pr:WorkingTime", self.ns):
+ if working_time.find("pr:FromTime", self.ns) is None:
+ continue
+ working_times.append(
+ {
+ "Start": datetime.time.fromisoformat(working_time.find("pr:FromTime", self.ns).text),
+ "Finish": datetime.time.fromisoformat(working_time.find("pr:ToTime", self.ns).text),
+ }
+ )
+ week_days.append(
+ {
+ "DayType": week_day.find("pr:DayType", self.ns).text,
+ "WorkingTimes": working_times,
+ "ifc": None,
+ }
+ )
+ exceptions = {}
+ self.calendars[calendar_id] = {
+ "Name": calendar.find("pr:Name", self.ns).text,
+ "StandardWorkWeek": week_days,
+ }
+
+ def create_ifc(self):
+ if not self.file:
+ self.file = self.create_boilerplate_ifc()
+ if not self.work_plan:
+ self.work_plan = ifcopenshell.api.run("sequence.add_work_plan", self.file)
+ work_schedule = self.create_work_schedule()
+ self.create_tasks(work_schedule)
+ self.create_calendars()
+ self.create_rel_sequences()
+
+ def create_boilerplate_ifc(self):
+ self.file = ifcopenshell.file(schema="IFC4")
+ self.work_plan = self.file.create_entity("IfcWorkPlan")
+
+ def create_tasks(self, work_schedule):
+ for task_id in self.tasks:
+ task = self.tasks[task_id]
+ if task["OutlineLevel"] == 0:
+ self.create_task(task, work_schedule=work_schedule)
+
+ def create_work_schedule(self):
+ return ifcopenshell.api.run(
+ "sequence.add_work_schedule", self.file, name=self.project["Name"], work_plan=self.work_plan
+ )
+
+ def create_calendars(self):
+ for calendar in self.calendars.values():
+ calendar["ifc"] = ifcopenshell.api.run(
+ "sequence.add_work_calendar", self.file, name=calendar["Name"]
+ )
+ self.process_working_week(calendar["StandardWorkWeek"], calendar["ifc"])
+
+ def create_task(self, task, work_schedule=None, parent_task=None):
+ task["ifc"] = ifcopenshell.api.run(
+ "sequence.add_task",
+ self.file,
+ work_schedule=work_schedule if work_schedule else None,
+ parent_task=parent_task["ifc"] if parent_task else None,
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_task",
+ self.file,
+ task=task["ifc"],
+ attributes={
+ "Name": task["Name"],
+ "Identification": task["OutlineNumber"],
+ "IsMilestone": task["Start"] == task["Finish"],
+ },
+ )
+ task_time = ifcopenshell.api.run("sequence.add_task_time", self.file, task=task["ifc"])
+ ifcopenshell.api.run(
+ "sequence.edit_task_time",
+ self.file,
+ task_time=task_time,
+ attributes={
+ "ScheduleStart": task["Start"],
+ "ScheduleFinish": task["Finish"],
+ "DurationType": "WORKTIME" if task["Duration"] else None,
+ "ScheduleDuration": task["Duration"] if task["Duration"] else None,
+ },
+ )
+ for subtask_id in task["subtasks"]:
+ self.create_task(self.tasks[subtask_id], parent_task=task)
+
+ def process_working_week(self, week, calendar):
+ for day in week:
+ if day["ifc"]:
+ continue
+
+ day["ifc"] = ifcopenshell.api.run(
+ "sequence.add_work_time", self.file, work_calendar=calendar, time_type="WorkingTimes"
+ )
+
+ weekday_component = [self.day_map[day["DayType"]]]
+ for day2 in week:
+ if day["DayType"] == day2["DayType"]:
+ continue
+ if day["WorkingTimes"] == day2["WorkingTimes"]:
+ weekday_component.append(self.day_map[day2["DayType"]])
+ # Don't process the next day, as we can group it
+ day2["ifc"] = day["ifc"]
+
+ work_time_name = "Weekdays: {}".format(", ".join([str(c) for c in sorted(weekday_component)]))
+ ifcopenshell.api.run(
+ "sequence.edit_work_time",
+ self.file,
+ work_time=day["ifc"],
+ attributes={"Name": work_time_name},
+ )
+
+ recurrence = ifcopenshell.api.run(
+ "sequence.assign_recurrence_pattern", self.file, parent=day["ifc"], recurrence_type="WEEKLY"
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_recurrence_pattern",
+ self.file,
+ recurrence_pattern=recurrence,
+ attributes={"WeekdayComponent": weekday_component},
+ )
+ for work_time in day["WorkingTimes"]:
+ ifcopenshell.api.run(
+ "sequence.add_time_period",
+ self.file,
+ recurrence_pattern=recurrence,
+ start_time=work_time["Start"],
+ end_time=work_time["Finish"],
+ )
+
+ def create_rel_sequences(self):
+ self.sequence_type_map = {
+ "1": "START_START",
+ "2": "START_FINISH",
+ "3": "FINISH_START",
+ "4": "FINISH_FINISH",
+ "0": "NOTDEFINED",
+ }
+ for task in self.tasks.values():
+ if not task["PredecessorTasks"]:
+ continue
+ for predecessor in task["PredecessorTasks"].values():
+ rel_sequence = ifcopenshell.api.run(
+ "sequence.assign_sequence",
+ self.file,
+ related_process = task["ifc"],
+ relating_process = self.tasks[predecessor["PredecessorTask"]]["ifc"]
+ )
+ if predecessor["Type"]:
+ ifcopenshell.api.run(
+ "sequence.edit_sequence",
+ self.file,
+ rel_sequence=rel_sequence,
+ attributes={"SequenceType": self.sequence_type_map[predecessor["Type"]]}
+ )
diff --git a/src/ifcp6/ifcp6/p62ifc.py b/src/ifcp6/ifcp6/p62ifc.py
new file mode 100644
index 0000000000..09295a2f68
--- /dev/null
+++ b/src/ifcp6/ifcp6/p62ifc.py
@@ -0,0 +1,407 @@
+import math
+import datetime
+import ifcopenshell
+import ifcopenshell.api
+import ifcopenshell.util.date
+import xml.etree.ElementTree as ET
+
+
+class P62Ifc:
+ def __init__(self):
+ self.xml = None
+ self.file = None
+ self.work_plan = None
+ self.project = {}
+ self.calendars = {}
+ self.wbs = {}
+ self.root_activites = []
+ self.activities = {}
+ self.relationships = {}
+ self.day_map = {
+ "Monday": 1,
+ "Tuesday": 2,
+ "Wednesday": 3,
+ "Thursday": 4,
+ "Friday": 5,
+ "Saturday": 6,
+ "Sunday": 7,
+ }
+
+ def execute(self):
+ self.parse_xml()
+ self.create_ifc()
+
+ def parse_xml(self):
+ tree = ET.parse(self.xml)
+ root = tree.getroot()
+ self.ns = {"pr": root.tag[1:].partition("}")[0]}
+ project = root.find("pr:Project", self.ns)
+ self.project["Name"] = project.find("pr:Name", self.ns).text
+ self.parse_calendar_xml(root)
+ self.parse_calendar_xml(project)
+ self.parse_wbs_xml(project)
+ self.parse_activity_xml(project)
+ self.parse_relationship_xml(project)
+
+ def parse_calendar_xml(self, project):
+ for calendar in project.findall("pr:Calendar", self.ns):
+ calendar_id = calendar.find("pr:ObjectId", self.ns).text
+ standard_work_week = []
+ for standard_work_hour in calendar.find("pr:StandardWorkWeek", self.ns).findall(
+ "pr:StandardWorkHours", self.ns
+ ):
+ work_times = []
+ for work_time in standard_work_hour.findall("pr:WorkTime", self.ns):
+ if work_time.find("pr:Start", self.ns) is None:
+ continue
+ work_times.append(
+ {
+ "Start": datetime.time.fromisoformat(work_time.find("pr:Start", self.ns).text),
+ "Finish": datetime.time.fromisoformat(work_time.find("pr:Finish", self.ns).text),
+ }
+ )
+ standard_work_week.append(
+ {
+ "DayOfWeek": standard_work_hour.find("pr:DayOfWeek", self.ns).text,
+ "WorkTimes": work_times,
+ "ifc": None,
+ }
+ )
+ exceptions = {}
+ holiday_or_exceptions = calendar.find("pr:HolidayOrExceptions", self.ns)
+ holiday_or_exception = []
+ if holiday_or_exceptions is not None:
+ holiday_or_exception = holiday_or_exceptions.findall("pr:HolidayOrException", self.ns)
+ for exception in holiday_or_exception:
+ d = datetime.datetime.fromisoformat(exception.find("pr:Date", self.ns).text).date()
+ month = exceptions.setdefault(d.year, {}).setdefault(d.month, {})
+ month.setdefault("FullDay", [])
+ month.setdefault("WorkTime", [])
+ work_times = []
+ for work_time in exception.findall("pr:WorkTime", self.ns):
+ if work_time.find("pr:Start", self.ns) is None:
+ continue
+ work_times.append(
+ {
+ "Start": datetime.time.fromisoformat(work_time.find("pr:Start", self.ns).text),
+ "Finish": datetime.time.fromisoformat(work_time.find("pr:Finish", self.ns).text),
+ }
+ )
+ if work_times:
+ exceptions[d.year][d.month]["WorkTime"].append({"Day": d.day, "WorkTimes": work_times, "ifc": None})
+ else:
+ exceptions[d.year][d.month]["FullDay"].append(d.day)
+ self.calendars[calendar_id] = {
+ "Name": calendar.find("pr:Name", self.ns).text,
+ "Type": calendar.find("pr:Type", self.ns).text,
+ "HoursPerDay": calendar.find("pr:HoursPerDay", self.ns).text,
+ "StandardWorkWeek": standard_work_week,
+ "HolidayOrExceptions": exceptions,
+ }
+
+ def parse_wbs_xml(self, project):
+ for wbs in project.findall("pr:WBS", self.ns):
+ self.wbs[wbs.find("pr:ObjectId", self.ns).text] = {
+ "Name": wbs.find("pr:Name", self.ns).text,
+ "Code": wbs.find("pr:Code", self.ns).text,
+ "ParentObjectId": wbs.find("pr:ParentObjectId", self.ns).text,
+ "ifc": None,
+ "rel": None,
+ "activities": [],
+ }
+
+ def parse_activity_xml(self, project):
+ for activity in project.findall("pr:Activity", self.ns):
+ activity_type = activity.find("pr:Type", self.ns).text
+ if activity_type == "Level of Effort":
+ continue
+ activity_id = activity.find("pr:ObjectId", self.ns).text
+ wbs_id = activity.find("pr:WBSObjectId", self.ns).text
+ if wbs_id:
+ self.wbs[wbs_id]["activities"].append(activity_id)
+ else:
+ self.root_activites.append(activity_id)
+ self.activities[activity_id] = {
+ "Name": activity.find("pr:Name", self.ns).text,
+ "Identification": activity.find("pr:Id", self.ns).text,
+ "StartDate": datetime.datetime.fromisoformat(activity.find("pr:StartDate", self.ns).text),
+ "FinishDate": datetime.datetime.fromisoformat(activity.find("pr:FinishDate", self.ns).text),
+ "PlannedDuration": activity.find("pr:PlannedDuration", self.ns).text,
+ "Status": activity.find("pr:Status", self.ns).text,
+ "CalendarObjectId": activity.find("pr:CalendarObjectId", self.ns).text,
+ "ifc": None,
+ }
+
+ def parse_relationship_xml(self, project):
+ for relationship in project.findall("pr:Relationship", self.ns):
+ predecessor = relationship.find("pr:PredecessorActivityObjectId", self.ns).text
+ successor = relationship.find("pr:SuccessorActivityObjectId", self.ns).text
+ if predecessor not in self.activities or successor not in self.activities:
+ continue
+ self.relationships[relationship.find("pr:ObjectId", self.ns).text] = {
+ "PredecessorActivity": predecessor,
+ "SuccessorActivity": successor,
+ "Type": relationship.find("pr:Type", self.ns).text,
+ "Lag": relationship.find("pr:Lag", self.ns).text,
+ }
+
+ def get_wbs(self, wbs):
+ return {"Name": wbs.find("pr:Name", self.ns).text, "subtasks": []}
+
+ def create_ifc(self):
+ if not self.file:
+ self.file = self.create_boilerplate_ifc()
+ if not self.work_plan:
+ self.work_plan = ifcopenshell.api.run("sequence.add_work_plan", self.file)
+ work_schedule = self.create_work_schedule()
+ self.create_calendars()
+ self.create_tasks(work_schedule)
+ self.create_rel_sequences()
+
+ def create_work_schedule(self):
+ return ifcopenshell.api.run(
+ "sequence.add_work_schedule", self.file, name=self.project["Name"], work_plan=self.work_plan
+ )
+
+ def create_calendars(self):
+ for calendar in self.calendars.values():
+ calendar["ifc"] = ifcopenshell.api.run(
+ "sequence.add_work_calendar", self.file, name=calendar["Name"], predefined_type=calendar["Type"]
+ )
+ self.process_working_week(calendar["StandardWorkWeek"], calendar["ifc"])
+ self.process_exceptions(calendar["HolidayOrExceptions"], calendar["ifc"])
+
+ def process_working_week(self, week, calendar):
+ for day in week:
+ if day["ifc"] or not day["WorkTimes"]:
+ continue
+
+ day["ifc"] = ifcopenshell.api.run(
+ "sequence.add_work_time", self.file, work_calendar=calendar, time_type="WorkingTimes"
+ )
+
+ weekday_component = [self.day_map[day["DayOfWeek"]]]
+ for day2 in week:
+ if day["DayOfWeek"] == day2["DayOfWeek"]:
+ continue
+ if day["WorkTimes"] == day2["WorkTimes"]:
+ weekday_component.append(self.day_map[day2["DayOfWeek"]])
+ # Don't process the next day, as we can group it
+ day2["ifc"] = day["ifc"]
+
+ work_time_name = "Weekdays: {}".format(", ".join([str(c) for c in sorted(weekday_component)]))
+ ifcopenshell.api.run(
+ "sequence.edit_work_time",
+ self.file,
+ work_time=day["ifc"],
+ attributes={"Name": work_time_name},
+ )
+
+ recurrence = ifcopenshell.api.run(
+ "sequence.assign_recurrence_pattern", self.file, parent=day["ifc"], recurrence_type="WEEKLY"
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_recurrence_pattern",
+ self.file,
+ recurrence_pattern=recurrence,
+ attributes={"WeekdayComponent": weekday_component},
+ )
+ for work_time in day["WorkTimes"]:
+ ifcopenshell.api.run(
+ "sequence.add_time_period",
+ self.file,
+ recurrence_pattern=recurrence,
+ start_time=work_time["Start"],
+ end_time=work_time["Finish"],
+ )
+
+ def process_exceptions(self, exceptions, calendar):
+ for year, year_data in exceptions.items():
+ for month, month_data in year_data.items():
+ if month_data["FullDay"]:
+ self.process_full_day_exceptions(year, month, month_data, calendar)
+ if month_data["WorkTime"]:
+ self.process_work_time_exceptions(year, month, month_data, calendar)
+
+ def process_full_day_exceptions(self, year, month, month_data, calendar):
+ work_time = ifcopenshell.api.run(
+ "sequence.add_work_time", self.file, work_calendar=calendar, time_type="ExceptionTimes"
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_work_time",
+ self.file,
+ work_time=work_time,
+ attributes={
+ "Name": f"{year}-{month}",
+ "Start": datetime.date(year, 1, 1),
+ "Finish": datetime.date(year, 12, 31),
+ },
+ )
+ recurrence = ifcopenshell.api.run(
+ "sequence.assign_recurrence_pattern",
+ self.file,
+ parent=work_time,
+ recurrence_type="YEARLY_BY_DAY_OF_MONTH",
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_recurrence_pattern",
+ self.file,
+ recurrence_pattern=recurrence,
+ attributes={"DayComponent": month_data["FullDay"], "MonthComponent": [month]},
+ )
+
+ def process_work_time_exceptions(self, year, month, month_data, calendar):
+ for day in month_data["WorkTime"]:
+ if day["ifc"]:
+ continue
+
+ day["ifc"] = ifcopenshell.api.run(
+ "sequence.add_work_time", self.file, work_calendar=calendar, time_type="ExceptionTimes"
+ )
+
+ day_component = [day["Day"]]
+ for day2 in month_data["WorkTime"]:
+ if day["Day"] == day2["Day"]:
+ continue
+ if day["WorkTimes"] == day2["WorkTimes"]:
+ day_component.append(day2["Day"])
+ # Don't process the next day, as we can group it
+ day2["ifc"] = day["ifc"]
+
+ ifcopenshell.api.run(
+ "sequence.edit_work_time",
+ self.file,
+ work_time=day["ifc"],
+ attributes={
+ "Name": "{}-{}-{}".format(year, month, ", ".join([str(d) for d in day_component])),
+ "Start": datetime.date(year, 1, 1),
+ "Finish": datetime.date(year, 12, 31),
+ },
+ )
+ recurrence = ifcopenshell.api.run(
+ "sequence.assign_recurrence_pattern",
+ self.file,
+ parent=day["ifc"],
+ recurrence_type="YEARLY_BY_DAY_OF_MONTH",
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_recurrence_pattern",
+ self.file,
+ recurrence_pattern=recurrence,
+ attributes={"DayComponent": day_component, "MonthComponent": [month]},
+ )
+ for work_time in day["WorkTimes"]:
+ ifcopenshell.api.run(
+ "sequence.add_time_period",
+ self.file,
+ recurrence_pattern=recurrence,
+ start_time=work_time["Start"],
+ end_time=work_time["Finish"],
+ )
+
+ def create_tasks(self, work_schedule):
+ for wbs in self.wbs.values():
+ self.create_task_from_wbs(wbs, work_schedule)
+ for activity_id in self.root_activites:
+ self.create_task_from_activity(self.activities[activity_id], None, work_schedule)
+
+ def create_task_from_wbs(self, wbs, work_schedule):
+ wbs["ifc"] = ifcopenshell.api.run(
+ "sequence.add_task",
+ self.file,
+ work_schedule=None if wbs["ParentObjectId"] else work_schedule,
+ parent_task=self.wbs[wbs["ParentObjectId"]]["ifc"] if wbs["ParentObjectId"] else None,
+ )
+ identification = wbs["Code"]
+ if wbs["ParentObjectId"]:
+ identification = self.wbs[wbs["ParentObjectId"]]["ifc"].Identification + "." + wbs["Code"]
+ ifcopenshell.api.run(
+ "sequence.edit_task",
+ self.file,
+ task=wbs["ifc"],
+ attributes={"Name": wbs["Name"], "Identification": identification},
+ )
+ for activity_id in wbs["activities"]:
+ self.create_task_from_activity(self.activities[activity_id], wbs, None)
+
+ def create_task_from_activity(self, activity, wbs, work_schedule):
+ activity["ifc"] = ifcopenshell.api.run(
+ "sequence.add_task",
+ self.file,
+ work_schedule=None if wbs else work_schedule,
+ parent_task=wbs["ifc"] if wbs else None,
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_task",
+ self.file,
+ task=activity["ifc"],
+ attributes={
+ "Name": activity["Name"],
+ "Identification": activity["Identification"],
+ "Status": activity["Status"],
+ "IsMilestone": activity["StartDate"] == activity["FinishDate"],
+ "PredefinedType": "CONSTRUCTION"
+ },
+ )
+ task_time = ifcopenshell.api.run("sequence.add_task_time", self.file, task=activity["ifc"])
+ calendar = self.calendars[activity["CalendarObjectId"]]
+ # Seems intermittently crashy - can we investigate for larger files?
+ ifcopenshell.api.run(
+ "control.assign_control",
+ self.file,
+ **{
+ "relating_control": calendar["ifc"],
+ "related_object": activity["ifc"],
+ },
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_task_time",
+ self.file,
+ task_time=task_time,
+ attributes={
+ "ScheduleStart": activity["StartDate"],
+ "ScheduleFinish": activity["FinishDate"],
+ "DurationType": "WORKTIME" if activity["PlannedDuration"] else None,
+ "ScheduleDuration": datetime.timedelta(
+ days=float(activity["PlannedDuration"]) / float(calendar["HoursPerDay"])
+ )
+ or None
+ if activity["PlannedDuration"]
+ else None,
+ },
+ )
+
+ def create_rel_sequences(self):
+ self.sequence_type_map = {
+ "Start to Start": "START_START",
+ "Start to Finish": "START_FINISH",
+ "Finish to Start": "FINISH_START",
+ "Finish to Finish": "FINISH_FINISH",
+ }
+ for relationship in self.relationships.values():
+ rel_sequence = ifcopenshell.api.run(
+ "sequence.assign_sequence",
+ self.file,
+ relating_process=self.activities[relationship["PredecessorActivity"]]["ifc"],
+ related_process=self.activities[relationship["SuccessorActivity"]]["ifc"],
+ )
+ ifcopenshell.api.run(
+ "sequence.edit_sequence",
+ self.file,
+ rel_sequence=rel_sequence,
+ attributes={"SequenceType": self.sequence_type_map[relationship["Type"]]},
+ )
+ lag = float(relationship["Lag"])
+ if lag:
+ calendar = self.calendars[self.activities[relationship["PredecessorActivity"]]["CalendarObjectId"]]
+ ifcopenshell.api.run(
+ "sequence.assign_lag_time",
+ self.file,
+ rel_sequence=rel_sequence,
+ lag_value=datetime.timedelta(days=lag / float(calendar["HoursPerDay"])),
+ duration_type="WORKTIME",
+ )
+
+ def create_boilerplate_ifc(self):
+ self.file = ifcopenshell.file(schema="IFC4")
+ self.work_plan = self.file.create_entity("IfcWorkPlan")
diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp
index b601ef095b..5749816697 100644
--- a/src/ifcparse/Ifc2x3.cpp
+++ b/src/ifcparse/Ifc2x3.cpp
@@ -1029,6 +1029,10 @@ Ifc2x3::IfcActionSourceTypeEnum::Value Ifc2x3::IfcActionSourceTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcActionSourceTypeEnum::operator Ifc2x3::IfcActionSourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcActionTypeEnum::declaration() const { return *IFC2X3_IfcActionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcActionTypeEnum::Class() { return *IFC2X3_IfcActionTypeEnum_type; }
@@ -1063,6 +1067,10 @@ Ifc2x3::IfcActionTypeEnum::Value Ifc2x3::IfcActionTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcActionTypeEnum::operator Ifc2x3::IfcActionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcActuatorTypeEnum::declaration() const { return *IFC2X3_IfcActuatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcActuatorTypeEnum::Class() { return *IFC2X3_IfcActuatorTypeEnum_type; }
@@ -1099,6 +1107,10 @@ Ifc2x3::IfcActuatorTypeEnum::Value Ifc2x3::IfcActuatorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcActuatorTypeEnum::operator Ifc2x3::IfcActuatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAddressTypeEnum::declaration() const { return *IFC2X3_IfcAddressTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAddressTypeEnum::Class() { return *IFC2X3_IfcAddressTypeEnum_type; }
@@ -1133,6 +1145,10 @@ Ifc2x3::IfcAddressTypeEnum::Value Ifc2x3::IfcAddressTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAddressTypeEnum::operator Ifc2x3::IfcAddressTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAheadOrBehind::declaration() const { return *IFC2X3_IfcAheadOrBehind_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAheadOrBehind::Class() { return *IFC2X3_IfcAheadOrBehind_type; }
@@ -1164,6 +1180,10 @@ Ifc2x3::IfcAheadOrBehind::Value Ifc2x3::IfcAheadOrBehind::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAheadOrBehind::operator Ifc2x3::IfcAheadOrBehind::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC2X3_IfcAirTerminalBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAirTerminalBoxTypeEnum::Class() { return *IFC2X3_IfcAirTerminalBoxTypeEnum_type; }
@@ -1198,6 +1218,10 @@ Ifc2x3::IfcAirTerminalBoxTypeEnum::Value Ifc2x3::IfcAirTerminalBoxTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAirTerminalBoxTypeEnum::operator Ifc2x3::IfcAirTerminalBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAirTerminalTypeEnum::declaration() const { return *IFC2X3_IfcAirTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAirTerminalTypeEnum::Class() { return *IFC2X3_IfcAirTerminalTypeEnum_type; }
@@ -1236,6 +1260,10 @@ Ifc2x3::IfcAirTerminalTypeEnum::Value Ifc2x3::IfcAirTerminalTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAirTerminalTypeEnum::operator Ifc2x3::IfcAirTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC2X3_IfcAirToAirHeatRecoveryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC2X3_IfcAirToAirHeatRecoveryTypeEnum_type; }
@@ -1276,6 +1304,10 @@ Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc2x3::IfcAirToAirHeatRecoveryTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAlarmTypeEnum::declaration() const { return *IFC2X3_IfcAlarmTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAlarmTypeEnum::Class() { return *IFC2X3_IfcAlarmTypeEnum_type; }
@@ -1313,6 +1345,10 @@ Ifc2x3::IfcAlarmTypeEnum::Value Ifc2x3::IfcAlarmTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAlarmTypeEnum::operator Ifc2x3::IfcAlarmTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAnalysisModelTypeEnum::declaration() const { return *IFC2X3_IfcAnalysisModelTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAnalysisModelTypeEnum::Class() { return *IFC2X3_IfcAnalysisModelTypeEnum_type; }
@@ -1347,6 +1383,10 @@ Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcAnalysisModelTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAnalysisModelTypeEnum::operator Ifc2x3::IfcAnalysisModelTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC2X3_IfcAnalysisTheoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAnalysisTheoryTypeEnum::Class() { return *IFC2X3_IfcAnalysisTheoryTypeEnum_type; }
@@ -1382,6 +1422,10 @@ Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcAnalysisTheoryTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAnalysisTheoryTypeEnum::operator Ifc2x3::IfcAnalysisTheoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcArithmeticOperatorEnum::declaration() const { return *IFC2X3_IfcArithmeticOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcArithmeticOperatorEnum::Class() { return *IFC2X3_IfcArithmeticOperatorEnum_type; }
@@ -1415,6 +1459,10 @@ Ifc2x3::IfcArithmeticOperatorEnum::Value Ifc2x3::IfcArithmeticOperatorEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcArithmeticOperatorEnum::operator Ifc2x3::IfcArithmeticOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcAssemblyPlaceEnum::declaration() const { return *IFC2X3_IfcAssemblyPlaceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcAssemblyPlaceEnum::Class() { return *IFC2X3_IfcAssemblyPlaceEnum_type; }
@@ -1447,6 +1495,10 @@ Ifc2x3::IfcAssemblyPlaceEnum::Value Ifc2x3::IfcAssemblyPlaceEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcAssemblyPlaceEnum::operator Ifc2x3::IfcAssemblyPlaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcBSplineCurveForm::declaration() const { return *IFC2X3_IfcBSplineCurveForm_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcBSplineCurveForm::Class() { return *IFC2X3_IfcBSplineCurveForm_type; }
@@ -1482,6 +1534,10 @@ Ifc2x3::IfcBSplineCurveForm::Value Ifc2x3::IfcBSplineCurveForm::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcBSplineCurveForm::operator Ifc2x3::IfcBSplineCurveForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcBeamTypeEnum::declaration() const { return *IFC2X3_IfcBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcBeamTypeEnum::Class() { return *IFC2X3_IfcBeamTypeEnum_type; }
@@ -1517,6 +1573,10 @@ Ifc2x3::IfcBeamTypeEnum::Value Ifc2x3::IfcBeamTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcBeamTypeEnum::operator Ifc2x3::IfcBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcBenchmarkEnum::declaration() const { return *IFC2X3_IfcBenchmarkEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcBenchmarkEnum::Class() { return *IFC2X3_IfcBenchmarkEnum_type; }
@@ -1552,6 +1612,10 @@ Ifc2x3::IfcBenchmarkEnum::Value Ifc2x3::IfcBenchmarkEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcBenchmarkEnum::operator Ifc2x3::IfcBenchmarkEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcBoilerTypeEnum::declaration() const { return *IFC2X3_IfcBoilerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcBoilerTypeEnum::Class() { return *IFC2X3_IfcBoilerTypeEnum_type; }
@@ -1585,6 +1649,10 @@ Ifc2x3::IfcBoilerTypeEnum::Value Ifc2x3::IfcBoilerTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcBoilerTypeEnum::operator Ifc2x3::IfcBoilerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcBooleanOperator::declaration() const { return *IFC2X3_IfcBooleanOperator_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcBooleanOperator::Class() { return *IFC2X3_IfcBooleanOperator_type; }
@@ -1617,6 +1685,10 @@ Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanOperator::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcBooleanOperator::operator Ifc2x3::IfcBooleanOperator::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC2X3_IfcBuildingElementProxyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcBuildingElementProxyTypeEnum::Class() { return *IFC2X3_IfcBuildingElementProxyTypeEnum_type; }
@@ -1648,6 +1720,10 @@ Ifc2x3::IfcBuildingElementProxyTypeEnum::Value Ifc2x3::IfcBuildingElementProxyTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcBuildingElementProxyTypeEnum::operator Ifc2x3::IfcBuildingElementProxyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC2X3_IfcCableCarrierFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCableCarrierFittingTypeEnum::Class() { return *IFC2X3_IfcCableCarrierFittingTypeEnum_type; }
@@ -1683,6 +1759,10 @@ Ifc2x3::IfcCableCarrierFittingTypeEnum::Value Ifc2x3::IfcCableCarrierFittingType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCableCarrierFittingTypeEnum::operator Ifc2x3::IfcCableCarrierFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC2X3_IfcCableCarrierSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC2X3_IfcCableCarrierSegmentTypeEnum_type; }
@@ -1718,6 +1798,10 @@ Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value Ifc2x3::IfcCableCarrierSegmentType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCableCarrierSegmentTypeEnum::operator Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCableSegmentTypeEnum::declaration() const { return *IFC2X3_IfcCableSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCableSegmentTypeEnum::Class() { return *IFC2X3_IfcCableSegmentTypeEnum_type; }
@@ -1751,6 +1835,10 @@ Ifc2x3::IfcCableSegmentTypeEnum::Value Ifc2x3::IfcCableSegmentTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCableSegmentTypeEnum::operator Ifc2x3::IfcCableSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcChangeActionEnum::declaration() const { return *IFC2X3_IfcChangeActionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcChangeActionEnum::Class() { return *IFC2X3_IfcChangeActionEnum_type; }
@@ -1786,6 +1874,10 @@ Ifc2x3::IfcChangeActionEnum::Value Ifc2x3::IfcChangeActionEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcChangeActionEnum::operator Ifc2x3::IfcChangeActionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcChillerTypeEnum::declaration() const { return *IFC2X3_IfcChillerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcChillerTypeEnum::Class() { return *IFC2X3_IfcChillerTypeEnum_type; }
@@ -1820,6 +1912,10 @@ Ifc2x3::IfcChillerTypeEnum::Value Ifc2x3::IfcChillerTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcChillerTypeEnum::operator Ifc2x3::IfcChillerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCoilTypeEnum::declaration() const { return *IFC2X3_IfcCoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCoilTypeEnum::Class() { return *IFC2X3_IfcCoilTypeEnum_type; }
@@ -1857,6 +1953,10 @@ Ifc2x3::IfcCoilTypeEnum::Value Ifc2x3::IfcCoilTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCoilTypeEnum::operator Ifc2x3::IfcCoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcColumnTypeEnum::declaration() const { return *IFC2X3_IfcColumnTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcColumnTypeEnum::Class() { return *IFC2X3_IfcColumnTypeEnum_type; }
@@ -1889,6 +1989,10 @@ Ifc2x3::IfcColumnTypeEnum::Value Ifc2x3::IfcColumnTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcColumnTypeEnum::operator Ifc2x3::IfcColumnTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCompressorTypeEnum::declaration() const { return *IFC2X3_IfcCompressorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCompressorTypeEnum::Class() { return *IFC2X3_IfcCompressorTypeEnum_type; }
@@ -1935,6 +2039,10 @@ Ifc2x3::IfcCompressorTypeEnum::Value Ifc2x3::IfcCompressorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCompressorTypeEnum::operator Ifc2x3::IfcCompressorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCondenserTypeEnum::declaration() const { return *IFC2X3_IfcCondenserTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCondenserTypeEnum::Class() { return *IFC2X3_IfcCondenserTypeEnum_type; }
@@ -1972,6 +2080,10 @@ Ifc2x3::IfcCondenserTypeEnum::Value Ifc2x3::IfcCondenserTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCondenserTypeEnum::operator Ifc2x3::IfcCondenserTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcConnectionTypeEnum::declaration() const { return *IFC2X3_IfcConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcConnectionTypeEnum::Class() { return *IFC2X3_IfcConnectionTypeEnum_type; }
@@ -2005,6 +2117,10 @@ Ifc2x3::IfcConnectionTypeEnum::Value Ifc2x3::IfcConnectionTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcConnectionTypeEnum::operator Ifc2x3::IfcConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcConstraintEnum::declaration() const { return *IFC2X3_IfcConstraintEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcConstraintEnum::Class() { return *IFC2X3_IfcConstraintEnum_type; }
@@ -2039,6 +2155,10 @@ Ifc2x3::IfcConstraintEnum::Value Ifc2x3::IfcConstraintEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcConstraintEnum::operator Ifc2x3::IfcConstraintEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcControllerTypeEnum::declaration() const { return *IFC2X3_IfcControllerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcControllerTypeEnum::Class() { return *IFC2X3_IfcControllerTypeEnum_type; }
@@ -2076,6 +2196,10 @@ Ifc2x3::IfcControllerTypeEnum::Value Ifc2x3::IfcControllerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcControllerTypeEnum::operator Ifc2x3::IfcControllerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCooledBeamTypeEnum::declaration() const { return *IFC2X3_IfcCooledBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCooledBeamTypeEnum::Class() { return *IFC2X3_IfcCooledBeamTypeEnum_type; }
@@ -2109,6 +2233,10 @@ Ifc2x3::IfcCooledBeamTypeEnum::Value Ifc2x3::IfcCooledBeamTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCooledBeamTypeEnum::operator Ifc2x3::IfcCooledBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCoolingTowerTypeEnum::declaration() const { return *IFC2X3_IfcCoolingTowerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCoolingTowerTypeEnum::Class() { return *IFC2X3_IfcCoolingTowerTypeEnum_type; }
@@ -2143,6 +2271,10 @@ Ifc2x3::IfcCoolingTowerTypeEnum::Value Ifc2x3::IfcCoolingTowerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCoolingTowerTypeEnum::operator Ifc2x3::IfcCoolingTowerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCostScheduleTypeEnum::declaration() const { return *IFC2X3_IfcCostScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCostScheduleTypeEnum::Class() { return *IFC2X3_IfcCostScheduleTypeEnum_type; }
@@ -2181,6 +2313,10 @@ Ifc2x3::IfcCostScheduleTypeEnum::Value Ifc2x3::IfcCostScheduleTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCostScheduleTypeEnum::operator Ifc2x3::IfcCostScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCoveringTypeEnum::declaration() const { return *IFC2X3_IfcCoveringTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCoveringTypeEnum::Class() { return *IFC2X3_IfcCoveringTypeEnum_type; }
@@ -2220,6 +2356,10 @@ Ifc2x3::IfcCoveringTypeEnum::Value Ifc2x3::IfcCoveringTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCoveringTypeEnum::operator Ifc2x3::IfcCoveringTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCurrencyEnum::declaration() const { return *IFC2X3_IfcCurrencyEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCurrencyEnum::Class() { return *IFC2X3_IfcCurrencyEnum_type; }
@@ -2332,6 +2472,10 @@ Ifc2x3::IfcCurrencyEnum::Value Ifc2x3::IfcCurrencyEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCurrencyEnum::operator Ifc2x3::IfcCurrencyEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcCurtainWallTypeEnum::declaration() const { return *IFC2X3_IfcCurtainWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcCurtainWallTypeEnum::Class() { return *IFC2X3_IfcCurtainWallTypeEnum_type; }
@@ -2363,6 +2507,10 @@ Ifc2x3::IfcCurtainWallTypeEnum::Value Ifc2x3::IfcCurtainWallTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcCurtainWallTypeEnum::operator Ifc2x3::IfcCurtainWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDamperTypeEnum::declaration() const { return *IFC2X3_IfcDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDamperTypeEnum::Class() { return *IFC2X3_IfcDamperTypeEnum_type; }
@@ -2405,6 +2553,10 @@ Ifc2x3::IfcDamperTypeEnum::Value Ifc2x3::IfcDamperTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDamperTypeEnum::operator Ifc2x3::IfcDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDataOriginEnum::declaration() const { return *IFC2X3_IfcDataOriginEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDataOriginEnum::Class() { return *IFC2X3_IfcDataOriginEnum_type; }
@@ -2439,6 +2591,10 @@ Ifc2x3::IfcDataOriginEnum::Value Ifc2x3::IfcDataOriginEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDataOriginEnum::operator Ifc2x3::IfcDataOriginEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDerivedUnitEnum::declaration() const { return *IFC2X3_IfcDerivedUnitEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDerivedUnitEnum::Class() { return *IFC2X3_IfcDerivedUnitEnum_type; }
@@ -2517,6 +2673,10 @@ Ifc2x3::IfcDerivedUnitEnum::Value Ifc2x3::IfcDerivedUnitEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDerivedUnitEnum::operator Ifc2x3::IfcDerivedUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDimensionExtentUsage::declaration() const { return *IFC2X3_IfcDimensionExtentUsage_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDimensionExtentUsage::Class() { return *IFC2X3_IfcDimensionExtentUsage_type; }
@@ -2548,6 +2708,10 @@ Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionExtentUsage::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDimensionExtentUsage::operator Ifc2x3::IfcDimensionExtentUsage::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDirectionSenseEnum::declaration() const { return *IFC2X3_IfcDirectionSenseEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDirectionSenseEnum::Class() { return *IFC2X3_IfcDirectionSenseEnum_type; }
@@ -2579,6 +2743,10 @@ Ifc2x3::IfcDirectionSenseEnum::Value Ifc2x3::IfcDirectionSenseEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDirectionSenseEnum::operator Ifc2x3::IfcDirectionSenseEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC2X3_IfcDistributionChamberElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDistributionChamberElementTypeEnum::Class() { return *IFC2X3_IfcDistributionChamberElementTypeEnum_type; }
@@ -2618,6 +2786,10 @@ Ifc2x3::IfcDistributionChamberElementTypeEnum::Value Ifc2x3::IfcDistributionCham
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDistributionChamberElementTypeEnum::operator Ifc2x3::IfcDistributionChamberElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDocumentConfidentialityEnum::declaration() const { return *IFC2X3_IfcDocumentConfidentialityEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDocumentConfidentialityEnum::Class() { return *IFC2X3_IfcDocumentConfidentialityEnum_type; }
@@ -2653,6 +2825,10 @@ Ifc2x3::IfcDocumentConfidentialityEnum::Value Ifc2x3::IfcDocumentConfidentiality
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDocumentConfidentialityEnum::operator Ifc2x3::IfcDocumentConfidentialityEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDocumentStatusEnum::declaration() const { return *IFC2X3_IfcDocumentStatusEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDocumentStatusEnum::Class() { return *IFC2X3_IfcDocumentStatusEnum_type; }
@@ -2687,6 +2863,10 @@ Ifc2x3::IfcDocumentStatusEnum::Value Ifc2x3::IfcDocumentStatusEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDocumentStatusEnum::operator Ifc2x3::IfcDocumentStatusEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDoorPanelOperationEnum::declaration() const { return *IFC2X3_IfcDoorPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDoorPanelOperationEnum::Class() { return *IFC2X3_IfcDoorPanelOperationEnum_type; }
@@ -2724,6 +2904,10 @@ Ifc2x3::IfcDoorPanelOperationEnum::Value Ifc2x3::IfcDoorPanelOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDoorPanelOperationEnum::operator Ifc2x3::IfcDoorPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDoorPanelPositionEnum::declaration() const { return *IFC2X3_IfcDoorPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDoorPanelPositionEnum::Class() { return *IFC2X3_IfcDoorPanelPositionEnum_type; }
@@ -2757,6 +2941,10 @@ Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelPositionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDoorPanelPositionEnum::operator Ifc2x3::IfcDoorPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDoorStyleConstructionEnum::declaration() const { return *IFC2X3_IfcDoorStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDoorStyleConstructionEnum::Class() { return *IFC2X3_IfcDoorStyleConstructionEnum_type; }
@@ -2795,6 +2983,10 @@ Ifc2x3::IfcDoorStyleConstructionEnum::Value Ifc2x3::IfcDoorStyleConstructionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDoorStyleConstructionEnum::operator Ifc2x3::IfcDoorStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDoorStyleOperationEnum::declaration() const { return *IFC2X3_IfcDoorStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDoorStyleOperationEnum::Class() { return *IFC2X3_IfcDoorStyleOperationEnum_type; }
@@ -2842,6 +3034,10 @@ Ifc2x3::IfcDoorStyleOperationEnum::Value Ifc2x3::IfcDoorStyleOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDoorStyleOperationEnum::operator Ifc2x3::IfcDoorStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDuctFittingTypeEnum::declaration() const { return *IFC2X3_IfcDuctFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDuctFittingTypeEnum::Class() { return *IFC2X3_IfcDuctFittingTypeEnum_type; }
@@ -2880,6 +3076,10 @@ Ifc2x3::IfcDuctFittingTypeEnum::Value Ifc2x3::IfcDuctFittingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDuctFittingTypeEnum::operator Ifc2x3::IfcDuctFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDuctSegmentTypeEnum::declaration() const { return *IFC2X3_IfcDuctSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDuctSegmentTypeEnum::Class() { return *IFC2X3_IfcDuctSegmentTypeEnum_type; }
@@ -2913,6 +3113,10 @@ Ifc2x3::IfcDuctSegmentTypeEnum::Value Ifc2x3::IfcDuctSegmentTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDuctSegmentTypeEnum::operator Ifc2x3::IfcDuctSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcDuctSilencerTypeEnum::declaration() const { return *IFC2X3_IfcDuctSilencerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcDuctSilencerTypeEnum::Class() { return *IFC2X3_IfcDuctSilencerTypeEnum_type; }
@@ -2947,6 +3151,10 @@ Ifc2x3::IfcDuctSilencerTypeEnum::Value Ifc2x3::IfcDuctSilencerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcDuctSilencerTypeEnum::operator Ifc2x3::IfcDuctSilencerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricApplianceTypeEnum::declaration() const { return *IFC2X3_IfcElectricApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricApplianceTypeEnum::Class() { return *IFC2X3_IfcElectricApplianceTypeEnum_type; }
@@ -3002,6 +3210,10 @@ Ifc2x3::IfcElectricApplianceTypeEnum::Value Ifc2x3::IfcElectricApplianceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricApplianceTypeEnum::operator Ifc2x3::IfcElectricApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricCurrentEnum::declaration() const { return *IFC2X3_IfcElectricCurrentEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricCurrentEnum::Class() { return *IFC2X3_IfcElectricCurrentEnum_type; }
@@ -3034,6 +3246,10 @@ Ifc2x3::IfcElectricCurrentEnum::Value Ifc2x3::IfcElectricCurrentEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricCurrentEnum::operator Ifc2x3::IfcElectricCurrentEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricDistributionPointFunctionEnum::declaration() const { return *IFC2X3_IfcElectricDistributionPointFunctionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricDistributionPointFunctionEnum::Class() { return *IFC2X3_IfcElectricDistributionPointFunctionEnum_type; }
@@ -3074,6 +3290,10 @@ Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value Ifc2x3::IfcElectricDistr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricDistributionPointFunctionEnum::operator Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC2X3_IfcElectricFlowStorageDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC2X3_IfcElectricFlowStorageDeviceTypeEnum_type; }
@@ -3110,6 +3330,10 @@ Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc2x3::IfcElectricFlowStora
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC2X3_IfcElectricGeneratorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricGeneratorTypeEnum::Class() { return *IFC2X3_IfcElectricGeneratorTypeEnum_type; }
@@ -3141,6 +3365,10 @@ Ifc2x3::IfcElectricGeneratorTypeEnum::Value Ifc2x3::IfcElectricGeneratorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricGeneratorTypeEnum::operator Ifc2x3::IfcElectricGeneratorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricHeaterTypeEnum::declaration() const { return *IFC2X3_IfcElectricHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricHeaterTypeEnum::Class() { return *IFC2X3_IfcElectricHeaterTypeEnum_type; }
@@ -3175,6 +3403,10 @@ Ifc2x3::IfcElectricHeaterTypeEnum::Value Ifc2x3::IfcElectricHeaterTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricHeaterTypeEnum::operator Ifc2x3::IfcElectricHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricMotorTypeEnum::declaration() const { return *IFC2X3_IfcElectricMotorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricMotorTypeEnum::Class() { return *IFC2X3_IfcElectricMotorTypeEnum_type; }
@@ -3211,6 +3443,10 @@ Ifc2x3::IfcElectricMotorTypeEnum::Value Ifc2x3::IfcElectricMotorTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricMotorTypeEnum::operator Ifc2x3::IfcElectricMotorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC2X3_IfcElectricTimeControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElectricTimeControlTypeEnum::Class() { return *IFC2X3_IfcElectricTimeControlTypeEnum_type; }
@@ -3245,6 +3481,10 @@ Ifc2x3::IfcElectricTimeControlTypeEnum::Value Ifc2x3::IfcElectricTimeControlType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElectricTimeControlTypeEnum::operator Ifc2x3::IfcElectricTimeControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElementAssemblyTypeEnum::declaration() const { return *IFC2X3_IfcElementAssemblyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElementAssemblyTypeEnum::Class() { return *IFC2X3_IfcElementAssemblyTypeEnum_type; }
@@ -3285,6 +3525,10 @@ Ifc2x3::IfcElementAssemblyTypeEnum::Value Ifc2x3::IfcElementAssemblyTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElementAssemblyTypeEnum::operator Ifc2x3::IfcElementAssemblyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcElementCompositionEnum::declaration() const { return *IFC2X3_IfcElementCompositionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcElementCompositionEnum::Class() { return *IFC2X3_IfcElementCompositionEnum_type; }
@@ -3317,6 +3561,10 @@ Ifc2x3::IfcElementCompositionEnum::Value Ifc2x3::IfcElementCompositionEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcElementCompositionEnum::operator Ifc2x3::IfcElementCompositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcEnergySequenceEnum::declaration() const { return *IFC2X3_IfcEnergySequenceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcEnergySequenceEnum::Class() { return *IFC2X3_IfcEnergySequenceEnum_type; }
@@ -3352,6 +3600,10 @@ Ifc2x3::IfcEnergySequenceEnum::Value Ifc2x3::IfcEnergySequenceEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcEnergySequenceEnum::operator Ifc2x3::IfcEnergySequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcEnvironmentalImpactCategoryEnum::declaration() const { return *IFC2X3_IfcEnvironmentalImpactCategoryEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Class() { return *IFC2X3_IfcEnvironmentalImpactCategoryEnum_type; }
@@ -3389,6 +3641,10 @@ Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value Ifc2x3::IfcEnvironmentalImpact
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcEnvironmentalImpactCategoryEnum::operator Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC2X3_IfcEvaporativeCoolerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC2X3_IfcEvaporativeCoolerTypeEnum_type; }
@@ -3429,6 +3685,10 @@ Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value Ifc2x3::IfcEvaporativeCoolerTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcEvaporativeCoolerTypeEnum::operator Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcEvaporatorTypeEnum::declaration() const { return *IFC2X3_IfcEvaporatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcEvaporatorTypeEnum::Class() { return *IFC2X3_IfcEvaporatorTypeEnum_type; }
@@ -3465,6 +3725,10 @@ Ifc2x3::IfcEvaporatorTypeEnum::Value Ifc2x3::IfcEvaporatorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcEvaporatorTypeEnum::operator Ifc2x3::IfcEvaporatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFanTypeEnum::declaration() const { return *IFC2X3_IfcFanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFanTypeEnum::Class() { return *IFC2X3_IfcFanTypeEnum_type; }
@@ -3503,6 +3767,10 @@ Ifc2x3::IfcFanTypeEnum::Value Ifc2x3::IfcFanTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFanTypeEnum::operator Ifc2x3::IfcFanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFilterTypeEnum::declaration() const { return *IFC2X3_IfcFilterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFilterTypeEnum::Class() { return *IFC2X3_IfcFilterTypeEnum_type; }
@@ -3539,6 +3807,10 @@ Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFilterTypeEnum::operator Ifc2x3::IfcFilterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC2X3_IfcFireSuppressionTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC2X3_IfcFireSuppressionTerminalTypeEnum_type; }
@@ -3575,6 +3847,10 @@ Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc2x3::IfcFireSuppressionTerm
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFireSuppressionTerminalTypeEnum::operator Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFlowDirectionEnum::declaration() const { return *IFC2X3_IfcFlowDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFlowDirectionEnum::Class() { return *IFC2X3_IfcFlowDirectionEnum_type; }
@@ -3608,6 +3884,10 @@ Ifc2x3::IfcFlowDirectionEnum::Value Ifc2x3::IfcFlowDirectionEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFlowDirectionEnum::operator Ifc2x3::IfcFlowDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC2X3_IfcFlowInstrumentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFlowInstrumentTypeEnum::Class() { return *IFC2X3_IfcFlowInstrumentTypeEnum_type; }
@@ -3647,6 +3927,10 @@ Ifc2x3::IfcFlowInstrumentTypeEnum::Value Ifc2x3::IfcFlowInstrumentTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFlowInstrumentTypeEnum::operator Ifc2x3::IfcFlowInstrumentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFlowMeterTypeEnum::declaration() const { return *IFC2X3_IfcFlowMeterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFlowMeterTypeEnum::Class() { return *IFC2X3_IfcFlowMeterTypeEnum_type; }
@@ -3684,6 +3968,10 @@ Ifc2x3::IfcFlowMeterTypeEnum::Value Ifc2x3::IfcFlowMeterTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFlowMeterTypeEnum::operator Ifc2x3::IfcFlowMeterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcFootingTypeEnum::declaration() const { return *IFC2X3_IfcFootingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcFootingTypeEnum::Class() { return *IFC2X3_IfcFootingTypeEnum_type; }
@@ -3719,6 +4007,10 @@ Ifc2x3::IfcFootingTypeEnum::Value Ifc2x3::IfcFootingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcFootingTypeEnum::operator Ifc2x3::IfcFootingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcGasTerminalTypeEnum::declaration() const { return *IFC2X3_IfcGasTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcGasTerminalTypeEnum::Class() { return *IFC2X3_IfcGasTerminalTypeEnum_type; }
@@ -3753,6 +4045,10 @@ Ifc2x3::IfcGasTerminalTypeEnum::Value Ifc2x3::IfcGasTerminalTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcGasTerminalTypeEnum::operator Ifc2x3::IfcGasTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcGeometricProjectionEnum::declaration() const { return *IFC2X3_IfcGeometricProjectionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcGeometricProjectionEnum::Class() { return *IFC2X3_IfcGeometricProjectionEnum_type; }
@@ -3791,6 +4087,10 @@ Ifc2x3::IfcGeometricProjectionEnum::Value Ifc2x3::IfcGeometricProjectionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcGeometricProjectionEnum::operator Ifc2x3::IfcGeometricProjectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcGlobalOrLocalEnum::declaration() const { return *IFC2X3_IfcGlobalOrLocalEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcGlobalOrLocalEnum::Class() { return *IFC2X3_IfcGlobalOrLocalEnum_type; }
@@ -3822,6 +4122,10 @@ Ifc2x3::IfcGlobalOrLocalEnum::Value Ifc2x3::IfcGlobalOrLocalEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcGlobalOrLocalEnum::operator Ifc2x3::IfcGlobalOrLocalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcHeatExchangerTypeEnum::declaration() const { return *IFC2X3_IfcHeatExchangerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcHeatExchangerTypeEnum::Class() { return *IFC2X3_IfcHeatExchangerTypeEnum_type; }
@@ -3855,6 +4159,10 @@ Ifc2x3::IfcHeatExchangerTypeEnum::Value Ifc2x3::IfcHeatExchangerTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcHeatExchangerTypeEnum::operator Ifc2x3::IfcHeatExchangerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcHumidifierTypeEnum::declaration() const { return *IFC2X3_IfcHumidifierTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcHumidifierTypeEnum::Class() { return *IFC2X3_IfcHumidifierTypeEnum_type; }
@@ -3899,6 +4207,10 @@ Ifc2x3::IfcHumidifierTypeEnum::Value Ifc2x3::IfcHumidifierTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcHumidifierTypeEnum::operator Ifc2x3::IfcHumidifierTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcInternalOrExternalEnum::declaration() const { return *IFC2X3_IfcInternalOrExternalEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcInternalOrExternalEnum::Class() { return *IFC2X3_IfcInternalOrExternalEnum_type; }
@@ -3931,6 +4243,10 @@ Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcInternalOrExternalEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcInternalOrExternalEnum::operator Ifc2x3::IfcInternalOrExternalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcInventoryTypeEnum::declaration() const { return *IFC2X3_IfcInventoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcInventoryTypeEnum::Class() { return *IFC2X3_IfcInventoryTypeEnum_type; }
@@ -3965,6 +4281,10 @@ Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventoryTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcInventoryTypeEnum::operator Ifc2x3::IfcInventoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcJunctionBoxTypeEnum::declaration() const { return *IFC2X3_IfcJunctionBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcJunctionBoxTypeEnum::Class() { return *IFC2X3_IfcJunctionBoxTypeEnum_type; }
@@ -3996,6 +4316,10 @@ Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcJunctionBoxTypeEnum::operator Ifc2x3::IfcJunctionBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLampTypeEnum::declaration() const { return *IFC2X3_IfcLampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLampTypeEnum::Class() { return *IFC2X3_IfcLampTypeEnum_type; }
@@ -4033,6 +4357,10 @@ Ifc2x3::IfcLampTypeEnum::Value Ifc2x3::IfcLampTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLampTypeEnum::operator Ifc2x3::IfcLampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLayerSetDirectionEnum::declaration() const { return *IFC2X3_IfcLayerSetDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLayerSetDirectionEnum::Class() { return *IFC2X3_IfcLayerSetDirectionEnum_type; }
@@ -4065,6 +4393,10 @@ Ifc2x3::IfcLayerSetDirectionEnum::Value Ifc2x3::IfcLayerSetDirectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLayerSetDirectionEnum::operator Ifc2x3::IfcLayerSetDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLightDistributionCurveEnum::declaration() const { return *IFC2X3_IfcLightDistributionCurveEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLightDistributionCurveEnum::Class() { return *IFC2X3_IfcLightDistributionCurveEnum_type; }
@@ -4098,6 +4430,10 @@ Ifc2x3::IfcLightDistributionCurveEnum::Value Ifc2x3::IfcLightDistributionCurveEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLightDistributionCurveEnum::operator Ifc2x3::IfcLightDistributionCurveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLightEmissionSourceEnum::declaration() const { return *IFC2X3_IfcLightEmissionSourceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLightEmissionSourceEnum::Class() { return *IFC2X3_IfcLightEmissionSourceEnum_type; }
@@ -4138,6 +4474,10 @@ Ifc2x3::IfcLightEmissionSourceEnum::Value Ifc2x3::IfcLightEmissionSourceEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLightEmissionSourceEnum::operator Ifc2x3::IfcLightEmissionSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLightFixtureTypeEnum::declaration() const { return *IFC2X3_IfcLightFixtureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLightFixtureTypeEnum::Class() { return *IFC2X3_IfcLightFixtureTypeEnum_type; }
@@ -4171,6 +4511,10 @@ Ifc2x3::IfcLightFixtureTypeEnum::Value Ifc2x3::IfcLightFixtureTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLightFixtureTypeEnum::operator Ifc2x3::IfcLightFixtureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLoadGroupTypeEnum::declaration() const { return *IFC2X3_IfcLoadGroupTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLoadGroupTypeEnum::Class() { return *IFC2X3_IfcLoadGroupTypeEnum_type; }
@@ -4206,6 +4550,10 @@ Ifc2x3::IfcLoadGroupTypeEnum::Value Ifc2x3::IfcLoadGroupTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLoadGroupTypeEnum::operator Ifc2x3::IfcLoadGroupTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcLogicalOperatorEnum::declaration() const { return *IFC2X3_IfcLogicalOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcLogicalOperatorEnum::Class() { return *IFC2X3_IfcLogicalOperatorEnum_type; }
@@ -4237,6 +4585,10 @@ Ifc2x3::IfcLogicalOperatorEnum::Value Ifc2x3::IfcLogicalOperatorEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcLogicalOperatorEnum::operator Ifc2x3::IfcLogicalOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcMemberTypeEnum::declaration() const { return *IFC2X3_IfcMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcMemberTypeEnum::Class() { return *IFC2X3_IfcMemberTypeEnum_type; }
@@ -4280,6 +4632,10 @@ Ifc2x3::IfcMemberTypeEnum::Value Ifc2x3::IfcMemberTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcMemberTypeEnum::operator Ifc2x3::IfcMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcMotorConnectionTypeEnum::declaration() const { return *IFC2X3_IfcMotorConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcMotorConnectionTypeEnum::Class() { return *IFC2X3_IfcMotorConnectionTypeEnum_type; }
@@ -4314,6 +4670,10 @@ Ifc2x3::IfcMotorConnectionTypeEnum::Value Ifc2x3::IfcMotorConnectionTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcMotorConnectionTypeEnum::operator Ifc2x3::IfcMotorConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcNullStyle::declaration() const { return *IFC2X3_IfcNullStyle_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcNullStyle::Class() { return *IFC2X3_IfcNullStyle_type; }
@@ -4344,6 +4704,10 @@ Ifc2x3::IfcNullStyle::Value Ifc2x3::IfcNullStyle::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcNullStyle::operator Ifc2x3::IfcNullStyle::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcObjectTypeEnum::declaration() const { return *IFC2X3_IfcObjectTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcObjectTypeEnum::Class() { return *IFC2X3_IfcObjectTypeEnum_type; }
@@ -4381,6 +4745,10 @@ Ifc2x3::IfcObjectTypeEnum::Value Ifc2x3::IfcObjectTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcObjectTypeEnum::operator Ifc2x3::IfcObjectTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcObjectiveEnum::declaration() const { return *IFC2X3_IfcObjectiveEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcObjectiveEnum::Class() { return *IFC2X3_IfcObjectiveEnum_type; }
@@ -4418,6 +4786,10 @@ Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjectiveEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcObjectiveEnum::operator Ifc2x3::IfcObjectiveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcOccupantTypeEnum::declaration() const { return *IFC2X3_IfcOccupantTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcOccupantTypeEnum::Class() { return *IFC2X3_IfcOccupantTypeEnum_type; }
@@ -4456,6 +4828,10 @@ Ifc2x3::IfcOccupantTypeEnum::Value Ifc2x3::IfcOccupantTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcOccupantTypeEnum::operator Ifc2x3::IfcOccupantTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcOutletTypeEnum::declaration() const { return *IFC2X3_IfcOutletTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcOutletTypeEnum::Class() { return *IFC2X3_IfcOutletTypeEnum_type; }
@@ -4490,6 +4866,10 @@ Ifc2x3::IfcOutletTypeEnum::Value Ifc2x3::IfcOutletTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcOutletTypeEnum::operator Ifc2x3::IfcOutletTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC2X3_IfcPermeableCoveringOperationEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPermeableCoveringOperationEnum::Class() { return *IFC2X3_IfcPermeableCoveringOperationEnum_type; }
@@ -4524,6 +4904,10 @@ Ifc2x3::IfcPermeableCoveringOperationEnum::Value Ifc2x3::IfcPermeableCoveringOpe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPermeableCoveringOperationEnum::operator Ifc2x3::IfcPermeableCoveringOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC2X3_IfcPhysicalOrVirtualEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPhysicalOrVirtualEnum::Class() { return *IFC2X3_IfcPhysicalOrVirtualEnum_type; }
@@ -4556,6 +4940,10 @@ Ifc2x3::IfcPhysicalOrVirtualEnum::Value Ifc2x3::IfcPhysicalOrVirtualEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPhysicalOrVirtualEnum::operator Ifc2x3::IfcPhysicalOrVirtualEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPileConstructionEnum::declaration() const { return *IFC2X3_IfcPileConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPileConstructionEnum::Class() { return *IFC2X3_IfcPileConstructionEnum_type; }
@@ -4591,6 +4979,10 @@ Ifc2x3::IfcPileConstructionEnum::Value Ifc2x3::IfcPileConstructionEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPileConstructionEnum::operator Ifc2x3::IfcPileConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPileTypeEnum::declaration() const { return *IFC2X3_IfcPileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPileTypeEnum::Class() { return *IFC2X3_IfcPileTypeEnum_type; }
@@ -4625,6 +5017,10 @@ Ifc2x3::IfcPileTypeEnum::Value Ifc2x3::IfcPileTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPileTypeEnum::operator Ifc2x3::IfcPileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPipeFittingTypeEnum::declaration() const { return *IFC2X3_IfcPipeFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPipeFittingTypeEnum::Class() { return *IFC2X3_IfcPipeFittingTypeEnum_type; }
@@ -4663,6 +5059,10 @@ Ifc2x3::IfcPipeFittingTypeEnum::Value Ifc2x3::IfcPipeFittingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPipeFittingTypeEnum::operator Ifc2x3::IfcPipeFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPipeSegmentTypeEnum::declaration() const { return *IFC2X3_IfcPipeSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPipeSegmentTypeEnum::Class() { return *IFC2X3_IfcPipeSegmentTypeEnum_type; }
@@ -4698,6 +5098,10 @@ Ifc2x3::IfcPipeSegmentTypeEnum::Value Ifc2x3::IfcPipeSegmentTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPipeSegmentTypeEnum::operator Ifc2x3::IfcPipeSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPlateTypeEnum::declaration() const { return *IFC2X3_IfcPlateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPlateTypeEnum::Class() { return *IFC2X3_IfcPlateTypeEnum_type; }
@@ -4731,6 +5135,10 @@ Ifc2x3::IfcPlateTypeEnum::Value Ifc2x3::IfcPlateTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPlateTypeEnum::operator Ifc2x3::IfcPlateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcProcedureTypeEnum::declaration() const { return *IFC2X3_IfcProcedureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcProcedureTypeEnum::Class() { return *IFC2X3_IfcProcedureTypeEnum_type; }
@@ -4769,6 +5177,10 @@ Ifc2x3::IfcProcedureTypeEnum::Value Ifc2x3::IfcProcedureTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcProcedureTypeEnum::operator Ifc2x3::IfcProcedureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcProfileTypeEnum::declaration() const { return *IFC2X3_IfcProfileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcProfileTypeEnum::Class() { return *IFC2X3_IfcProfileTypeEnum_type; }
@@ -4800,6 +5212,10 @@ Ifc2x3::IfcProfileTypeEnum::Value Ifc2x3::IfcProfileTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcProfileTypeEnum::operator Ifc2x3::IfcProfileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcProjectOrderRecordTypeEnum::declaration() const { return *IFC2X3_IfcProjectOrderRecordTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcProjectOrderRecordTypeEnum::Class() { return *IFC2X3_IfcProjectOrderRecordTypeEnum_type; }
@@ -4836,6 +5252,10 @@ Ifc2x3::IfcProjectOrderRecordTypeEnum::Value Ifc2x3::IfcProjectOrderRecordTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcProjectOrderRecordTypeEnum::operator Ifc2x3::IfcProjectOrderRecordTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcProjectOrderTypeEnum::declaration() const { return *IFC2X3_IfcProjectOrderTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcProjectOrderTypeEnum::Class() { return *IFC2X3_IfcProjectOrderTypeEnum_type; }
@@ -4872,6 +5292,10 @@ Ifc2x3::IfcProjectOrderTypeEnum::Value Ifc2x3::IfcProjectOrderTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcProjectOrderTypeEnum::operator Ifc2x3::IfcProjectOrderTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC2X3_IfcProjectedOrTrueLengthEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcProjectedOrTrueLengthEnum::Class() { return *IFC2X3_IfcProjectedOrTrueLengthEnum_type; }
@@ -4903,6 +5327,10 @@ Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcProjectedOrTrueLengthEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcProjectedOrTrueLengthEnum::operator Ifc2x3::IfcProjectedOrTrueLengthEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPropertySourceEnum::declaration() const { return *IFC2X3_IfcPropertySourceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPropertySourceEnum::Class() { return *IFC2X3_IfcPropertySourceEnum_type; }
@@ -4941,6 +5369,10 @@ Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcPropertySourceEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPropertySourceEnum::operator Ifc2x3::IfcPropertySourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC2X3_IfcProtectiveDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcProtectiveDeviceTypeEnum::Class() { return *IFC2X3_IfcProtectiveDeviceTypeEnum_type; }
@@ -4978,6 +5410,10 @@ Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcProtectiveDeviceTypeEnum::operator Ifc2x3::IfcProtectiveDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcPumpTypeEnum::declaration() const { return *IFC2X3_IfcPumpTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcPumpTypeEnum::Class() { return *IFC2X3_IfcPumpTypeEnum_type; }
@@ -5014,6 +5450,10 @@ Ifc2x3::IfcPumpTypeEnum::Value Ifc2x3::IfcPumpTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcPumpTypeEnum::operator Ifc2x3::IfcPumpTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcRailingTypeEnum::declaration() const { return *IFC2X3_IfcRailingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcRailingTypeEnum::Class() { return *IFC2X3_IfcRailingTypeEnum_type; }
@@ -5048,6 +5488,10 @@ Ifc2x3::IfcRailingTypeEnum::Value Ifc2x3::IfcRailingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcRailingTypeEnum::operator Ifc2x3::IfcRailingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcRampFlightTypeEnum::declaration() const { return *IFC2X3_IfcRampFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcRampFlightTypeEnum::Class() { return *IFC2X3_IfcRampFlightTypeEnum_type; }
@@ -5081,6 +5525,10 @@ Ifc2x3::IfcRampFlightTypeEnum::Value Ifc2x3::IfcRampFlightTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcRampFlightTypeEnum::operator Ifc2x3::IfcRampFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcRampTypeEnum::declaration() const { return *IFC2X3_IfcRampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcRampTypeEnum::Class() { return *IFC2X3_IfcRampTypeEnum_type; }
@@ -5118,6 +5566,10 @@ Ifc2x3::IfcRampTypeEnum::Value Ifc2x3::IfcRampTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcRampTypeEnum::operator Ifc2x3::IfcRampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcReflectanceMethodEnum::declaration() const { return *IFC2X3_IfcReflectanceMethodEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcReflectanceMethodEnum::Class() { return *IFC2X3_IfcReflectanceMethodEnum_type; }
@@ -5157,6 +5609,10 @@ Ifc2x3::IfcReflectanceMethodEnum::Value Ifc2x3::IfcReflectanceMethodEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcReflectanceMethodEnum::operator Ifc2x3::IfcReflectanceMethodEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcReinforcingBarRoleEnum::declaration() const { return *IFC2X3_IfcReinforcingBarRoleEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcReinforcingBarRoleEnum::Class() { return *IFC2X3_IfcReinforcingBarRoleEnum_type; }
@@ -5195,6 +5651,10 @@ Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcReinforcingBarRoleEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcReinforcingBarRoleEnum::operator Ifc2x3::IfcReinforcingBarRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC2X3_IfcReinforcingBarSurfaceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcReinforcingBarSurfaceEnum::Class() { return *IFC2X3_IfcReinforcingBarSurfaceEnum_type; }
@@ -5226,6 +5686,10 @@ Ifc2x3::IfcReinforcingBarSurfaceEnum::Value Ifc2x3::IfcReinforcingBarSurfaceEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcReinforcingBarSurfaceEnum::operator Ifc2x3::IfcReinforcingBarSurfaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcResourceConsumptionEnum::declaration() const { return *IFC2X3_IfcResourceConsumptionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcResourceConsumptionEnum::Class() { return *IFC2X3_IfcResourceConsumptionEnum_type; }
@@ -5263,6 +5727,10 @@ Ifc2x3::IfcResourceConsumptionEnum::Value Ifc2x3::IfcResourceConsumptionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcResourceConsumptionEnum::operator Ifc2x3::IfcResourceConsumptionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcRibPlateDirectionEnum::declaration() const { return *IFC2X3_IfcRibPlateDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcRibPlateDirectionEnum::Class() { return *IFC2X3_IfcRibPlateDirectionEnum_type; }
@@ -5294,6 +5762,10 @@ Ifc2x3::IfcRibPlateDirectionEnum::Value Ifc2x3::IfcRibPlateDirectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcRibPlateDirectionEnum::operator Ifc2x3::IfcRibPlateDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcRoleEnum::declaration() const { return *IFC2X3_IfcRoleEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcRoleEnum::Class() { return *IFC2X3_IfcRoleEnum_type; }
@@ -5346,6 +5818,10 @@ Ifc2x3::IfcRoleEnum::Value Ifc2x3::IfcRoleEnum::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcRoleEnum::operator Ifc2x3::IfcRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcRoofTypeEnum::declaration() const { return *IFC2X3_IfcRoofTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcRoofTypeEnum::Class() { return *IFC2X3_IfcRoofTypeEnum_type; }
@@ -5389,6 +5865,10 @@ Ifc2x3::IfcRoofTypeEnum::Value Ifc2x3::IfcRoofTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcRoofTypeEnum::operator Ifc2x3::IfcRoofTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSIPrefix::declaration() const { return *IFC2X3_IfcSIPrefix_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSIPrefix::Class() { return *IFC2X3_IfcSIPrefix_type; }
@@ -5434,6 +5914,10 @@ Ifc2x3::IfcSIPrefix::Value Ifc2x3::IfcSIPrefix::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSIPrefix::operator Ifc2x3::IfcSIPrefix::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSIUnitName::declaration() const { return *IFC2X3_IfcSIUnitName_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSIUnitName::Class() { return *IFC2X3_IfcSIUnitName_type; }
@@ -5493,6 +5977,10 @@ Ifc2x3::IfcSIUnitName::Value Ifc2x3::IfcSIUnitName::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSIUnitName::operator Ifc2x3::IfcSIUnitName::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC2X3_IfcSanitaryTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSanitaryTerminalTypeEnum::Class() { return *IFC2X3_IfcSanitaryTerminalTypeEnum_type; }
@@ -5534,6 +6022,10 @@ Ifc2x3::IfcSanitaryTerminalTypeEnum::Value Ifc2x3::IfcSanitaryTerminalTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSanitaryTerminalTypeEnum::operator Ifc2x3::IfcSanitaryTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSectionTypeEnum::declaration() const { return *IFC2X3_IfcSectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSectionTypeEnum::Class() { return *IFC2X3_IfcSectionTypeEnum_type; }
@@ -5565,6 +6057,10 @@ Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSectionTypeEnum::operator Ifc2x3::IfcSectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSensorTypeEnum::declaration() const { return *IFC2X3_IfcSensorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSensorTypeEnum::Class() { return *IFC2X3_IfcSensorTypeEnum_type; }
@@ -5609,6 +6105,10 @@ Ifc2x3::IfcSensorTypeEnum::Value Ifc2x3::IfcSensorTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSensorTypeEnum::operator Ifc2x3::IfcSensorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSequenceEnum::declaration() const { return *IFC2X3_IfcSequenceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSequenceEnum::Class() { return *IFC2X3_IfcSequenceEnum_type; }
@@ -5643,6 +6143,10 @@ Ifc2x3::IfcSequenceEnum::Value Ifc2x3::IfcSequenceEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSequenceEnum::operator Ifc2x3::IfcSequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcServiceLifeFactorTypeEnum::declaration() const { return *IFC2X3_IfcServiceLifeFactorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcServiceLifeFactorTypeEnum::Class() { return *IFC2X3_IfcServiceLifeFactorTypeEnum_type; }
@@ -5681,6 +6185,10 @@ Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcServiceLifeFactorTypeEnum::operator Ifc2x3::IfcServiceLifeFactorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcServiceLifeTypeEnum::declaration() const { return *IFC2X3_IfcServiceLifeTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcServiceLifeTypeEnum::Class() { return *IFC2X3_IfcServiceLifeTypeEnum_type; }
@@ -5715,6 +6223,10 @@ Ifc2x3::IfcServiceLifeTypeEnum::Value Ifc2x3::IfcServiceLifeTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcServiceLifeTypeEnum::operator Ifc2x3::IfcServiceLifeTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSlabTypeEnum::declaration() const { return *IFC2X3_IfcSlabTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSlabTypeEnum::Class() { return *IFC2X3_IfcSlabTypeEnum_type; }
@@ -5750,6 +6262,10 @@ Ifc2x3::IfcSlabTypeEnum::Value Ifc2x3::IfcSlabTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSlabTypeEnum::operator Ifc2x3::IfcSlabTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSoundScaleEnum::declaration() const { return *IFC2X3_IfcSoundScaleEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSoundScaleEnum::Class() { return *IFC2X3_IfcSoundScaleEnum_type; }
@@ -5786,6 +6302,10 @@ Ifc2x3::IfcSoundScaleEnum::Value Ifc2x3::IfcSoundScaleEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSoundScaleEnum::operator Ifc2x3::IfcSoundScaleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC2X3_IfcSpaceHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSpaceHeaterTypeEnum::Class() { return *IFC2X3_IfcSpaceHeaterTypeEnum_type; }
@@ -5824,6 +6344,10 @@ Ifc2x3::IfcSpaceHeaterTypeEnum::Value Ifc2x3::IfcSpaceHeaterTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSpaceHeaterTypeEnum::operator Ifc2x3::IfcSpaceHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSpaceTypeEnum::declaration() const { return *IFC2X3_IfcSpaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSpaceTypeEnum::Class() { return *IFC2X3_IfcSpaceTypeEnum_type; }
@@ -5855,6 +6379,10 @@ Ifc2x3::IfcSpaceTypeEnum::Value Ifc2x3::IfcSpaceTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSpaceTypeEnum::operator Ifc2x3::IfcSpaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcStackTerminalTypeEnum::declaration() const { return *IFC2X3_IfcStackTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcStackTerminalTypeEnum::Class() { return *IFC2X3_IfcStackTerminalTypeEnum_type; }
@@ -5889,6 +6417,10 @@ Ifc2x3::IfcStackTerminalTypeEnum::Value Ifc2x3::IfcStackTerminalTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcStackTerminalTypeEnum::operator Ifc2x3::IfcStackTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcStairFlightTypeEnum::declaration() const { return *IFC2X3_IfcStairFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcStairFlightTypeEnum::Class() { return *IFC2X3_IfcStairFlightTypeEnum_type; }
@@ -5925,6 +6457,10 @@ Ifc2x3::IfcStairFlightTypeEnum::Value Ifc2x3::IfcStairFlightTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcStairFlightTypeEnum::operator Ifc2x3::IfcStairFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcStairTypeEnum::declaration() const { return *IFC2X3_IfcStairTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcStairTypeEnum::Class() { return *IFC2X3_IfcStairTypeEnum_type; }
@@ -5970,6 +6506,10 @@ Ifc2x3::IfcStairTypeEnum::Value Ifc2x3::IfcStairTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcStairTypeEnum::operator Ifc2x3::IfcStairTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcStateEnum::declaration() const { return *IFC2X3_IfcStateEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcStateEnum::Class() { return *IFC2X3_IfcStateEnum_type; }
@@ -6004,6 +6544,10 @@ Ifc2x3::IfcStateEnum::Value Ifc2x3::IfcStateEnum::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcStateEnum::operator Ifc2x3::IfcStateEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcStructuralCurveTypeEnum::declaration() const { return *IFC2X3_IfcStructuralCurveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcStructuralCurveTypeEnum::Class() { return *IFC2X3_IfcStructuralCurveTypeEnum_type; }
@@ -6040,6 +6584,10 @@ Ifc2x3::IfcStructuralCurveTypeEnum::Value Ifc2x3::IfcStructuralCurveTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcStructuralCurveTypeEnum::operator Ifc2x3::IfcStructuralCurveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcStructuralSurfaceTypeEnum::declaration() const { return *IFC2X3_IfcStructuralSurfaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcStructuralSurfaceTypeEnum::Class() { return *IFC2X3_IfcStructuralSurfaceTypeEnum_type; }
@@ -6074,6 +6622,10 @@ Ifc2x3::IfcStructuralSurfaceTypeEnum::Value Ifc2x3::IfcStructuralSurfaceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcStructuralSurfaceTypeEnum::operator Ifc2x3::IfcStructuralSurfaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSurfaceSide::declaration() const { return *IFC2X3_IfcSurfaceSide_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSurfaceSide::Class() { return *IFC2X3_IfcSurfaceSide_type; }
@@ -6106,6 +6658,10 @@ Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceSide::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSurfaceSide::operator Ifc2x3::IfcSurfaceSide::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSurfaceTextureEnum::declaration() const { return *IFC2X3_IfcSurfaceTextureEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSurfaceTextureEnum::Class() { return *IFC2X3_IfcSurfaceTextureEnum_type; }
@@ -6144,6 +6700,10 @@ Ifc2x3::IfcSurfaceTextureEnum::Value Ifc2x3::IfcSurfaceTextureEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSurfaceTextureEnum::operator Ifc2x3::IfcSurfaceTextureEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC2X3_IfcSwitchingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcSwitchingDeviceTypeEnum::Class() { return *IFC2X3_IfcSwitchingDeviceTypeEnum_type; }
@@ -6180,6 +6740,10 @@ Ifc2x3::IfcSwitchingDeviceTypeEnum::Value Ifc2x3::IfcSwitchingDeviceTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcSwitchingDeviceTypeEnum::operator Ifc2x3::IfcSwitchingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTankTypeEnum::declaration() const { return *IFC2X3_IfcTankTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTankTypeEnum::Class() { return *IFC2X3_IfcTankTypeEnum_type; }
@@ -6215,6 +6779,10 @@ Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTankTypeEnum::operator Ifc2x3::IfcTankTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTendonTypeEnum::declaration() const { return *IFC2X3_IfcTendonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTendonTypeEnum::Class() { return *IFC2X3_IfcTendonTypeEnum_type; }
@@ -6250,6 +6818,10 @@ Ifc2x3::IfcTendonTypeEnum::Value Ifc2x3::IfcTendonTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTendonTypeEnum::operator Ifc2x3::IfcTendonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTextPath::declaration() const { return *IFC2X3_IfcTextPath_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTextPath::Class() { return *IFC2X3_IfcTextPath_type; }
@@ -6283,6 +6855,10 @@ Ifc2x3::IfcTextPath::Value Ifc2x3::IfcTextPath::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTextPath::operator Ifc2x3::IfcTextPath::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcThermalLoadSourceEnum::declaration() const { return *IFC2X3_IfcThermalLoadSourceEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcThermalLoadSourceEnum::Class() { return *IFC2X3_IfcThermalLoadSourceEnum_type; }
@@ -6325,6 +6901,10 @@ Ifc2x3::IfcThermalLoadSourceEnum::Value Ifc2x3::IfcThermalLoadSourceEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcThermalLoadSourceEnum::operator Ifc2x3::IfcThermalLoadSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcThermalLoadTypeEnum::declaration() const { return *IFC2X3_IfcThermalLoadTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcThermalLoadTypeEnum::Class() { return *IFC2X3_IfcThermalLoadTypeEnum_type; }
@@ -6358,6 +6938,10 @@ Ifc2x3::IfcThermalLoadTypeEnum::Value Ifc2x3::IfcThermalLoadTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcThermalLoadTypeEnum::operator Ifc2x3::IfcThermalLoadTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC2X3_IfcTimeSeriesDataTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTimeSeriesDataTypeEnum::Class() { return *IFC2X3_IfcTimeSeriesDataTypeEnum_type; }
@@ -6394,6 +6978,10 @@ Ifc2x3::IfcTimeSeriesDataTypeEnum::Value Ifc2x3::IfcTimeSeriesDataTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTimeSeriesDataTypeEnum::operator Ifc2x3::IfcTimeSeriesDataTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTimeSeriesScheduleTypeEnum::declaration() const { return *IFC2X3_IfcTimeSeriesScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class() { return *IFC2X3_IfcTimeSeriesScheduleTypeEnum_type; }
@@ -6429,6 +7017,10 @@ Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesScheduleTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTimeSeriesScheduleTypeEnum::operator Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTransformerTypeEnum::declaration() const { return *IFC2X3_IfcTransformerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTransformerTypeEnum::Class() { return *IFC2X3_IfcTransformerTypeEnum_type; }
@@ -6463,6 +7055,10 @@ Ifc2x3::IfcTransformerTypeEnum::Value Ifc2x3::IfcTransformerTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTransformerTypeEnum::operator Ifc2x3::IfcTransformerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTransitionCode::declaration() const { return *IFC2X3_IfcTransitionCode_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTransitionCode::Class() { return *IFC2X3_IfcTransitionCode_type; }
@@ -6496,6 +7092,10 @@ Ifc2x3::IfcTransitionCode::Value Ifc2x3::IfcTransitionCode::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTransitionCode::operator Ifc2x3::IfcTransitionCode::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTransportElementTypeEnum::declaration() const { return *IFC2X3_IfcTransportElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTransportElementTypeEnum::Class() { return *IFC2X3_IfcTransportElementTypeEnum_type; }
@@ -6530,6 +7130,10 @@ Ifc2x3::IfcTransportElementTypeEnum::Value Ifc2x3::IfcTransportElementTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTransportElementTypeEnum::operator Ifc2x3::IfcTransportElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTrimmingPreference::declaration() const { return *IFC2X3_IfcTrimmingPreference_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTrimmingPreference::Class() { return *IFC2X3_IfcTrimmingPreference_type; }
@@ -6562,6 +7166,10 @@ Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmingPreference::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTrimmingPreference::operator Ifc2x3::IfcTrimmingPreference::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcTubeBundleTypeEnum::declaration() const { return *IFC2X3_IfcTubeBundleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcTubeBundleTypeEnum::Class() { return *IFC2X3_IfcTubeBundleTypeEnum_type; }
@@ -6594,6 +7202,10 @@ Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcTubeBundleTypeEnum::operator Ifc2x3::IfcTubeBundleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcUnitEnum::declaration() const { return *IFC2X3_IfcUnitEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcUnitEnum::Class() { return *IFC2X3_IfcUnitEnum_type; }
@@ -6653,6 +7265,10 @@ Ifc2x3::IfcUnitEnum::Value Ifc2x3::IfcUnitEnum::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcUnitEnum::operator Ifc2x3::IfcUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC2X3_IfcUnitaryEquipmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC2X3_IfcUnitaryEquipmentTypeEnum_type; }
@@ -6688,6 +7304,10 @@ Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcUnitaryEquipmentTypeEnum::operator Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcValveTypeEnum::declaration() const { return *IFC2X3_IfcValveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcValveTypeEnum::Class() { return *IFC2X3_IfcValveTypeEnum_type; }
@@ -6740,6 +7360,10 @@ Ifc2x3::IfcValveTypeEnum::Value Ifc2x3::IfcValveTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcValveTypeEnum::operator Ifc2x3::IfcValveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC2X3_IfcVibrationIsolatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcVibrationIsolatorTypeEnum::Class() { return *IFC2X3_IfcVibrationIsolatorTypeEnum_type; }
@@ -6773,6 +7397,10 @@ Ifc2x3::IfcVibrationIsolatorTypeEnum::Value Ifc2x3::IfcVibrationIsolatorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcVibrationIsolatorTypeEnum::operator Ifc2x3::IfcVibrationIsolatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWallTypeEnum::declaration() const { return *IFC2X3_IfcWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWallTypeEnum::Class() { return *IFC2X3_IfcWallTypeEnum_type; }
@@ -6809,6 +7437,10 @@ Ifc2x3::IfcWallTypeEnum::Value Ifc2x3::IfcWallTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWallTypeEnum::operator Ifc2x3::IfcWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWasteTerminalTypeEnum::declaration() const { return *IFC2X3_IfcWasteTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWasteTerminalTypeEnum::Class() { return *IFC2X3_IfcWasteTerminalTypeEnum_type; }
@@ -6850,6 +7482,10 @@ Ifc2x3::IfcWasteTerminalTypeEnum::Value Ifc2x3::IfcWasteTerminalTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWasteTerminalTypeEnum::operator Ifc2x3::IfcWasteTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWindowPanelOperationEnum::declaration() const { return *IFC2X3_IfcWindowPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWindowPanelOperationEnum::Class() { return *IFC2X3_IfcWindowPanelOperationEnum_type; }
@@ -6893,6 +7529,10 @@ Ifc2x3::IfcWindowPanelOperationEnum::Value Ifc2x3::IfcWindowPanelOperationEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWindowPanelOperationEnum::operator Ifc2x3::IfcWindowPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWindowPanelPositionEnum::declaration() const { return *IFC2X3_IfcWindowPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWindowPanelPositionEnum::Class() { return *IFC2X3_IfcWindowPanelPositionEnum_type; }
@@ -6928,6 +7568,10 @@ Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcWindowPanelPositionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWindowPanelPositionEnum::operator Ifc2x3::IfcWindowPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWindowStyleConstructionEnum::declaration() const { return *IFC2X3_IfcWindowStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWindowStyleConstructionEnum::Class() { return *IFC2X3_IfcWindowStyleConstructionEnum_type; }
@@ -6965,6 +7609,10 @@ Ifc2x3::IfcWindowStyleConstructionEnum::Value Ifc2x3::IfcWindowStyleConstruction
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWindowStyleConstructionEnum::operator Ifc2x3::IfcWindowStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWindowStyleOperationEnum::declaration() const { return *IFC2X3_IfcWindowStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWindowStyleOperationEnum::Class() { return *IFC2X3_IfcWindowStyleOperationEnum_type; }
@@ -7005,6 +7653,10 @@ Ifc2x3::IfcWindowStyleOperationEnum::Value Ifc2x3::IfcWindowStyleOperationEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWindowStyleOperationEnum::operator Ifc2x3::IfcWindowStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc2x3::IfcWorkControlTypeEnum::declaration() const { return *IFC2X3_IfcWorkControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc2x3::IfcWorkControlTypeEnum::Class() { return *IFC2X3_IfcWorkControlTypeEnum_type; }
@@ -7039,6 +7691,10 @@ Ifc2x3::IfcWorkControlTypeEnum::Value Ifc2x3::IfcWorkControlTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc2x3::IfcWorkControlTypeEnum::operator Ifc2x3::IfcWorkControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
// Function implementations for IfcAbsorbedDoseMeasure
const IfcParse::type_declaration& Ifc2x3::IfcAbsorbedDoseMeasure::Class() { return *IFC2X3_IfcAbsorbedDoseMeasure_type; }
diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp
index a8bcdc64cc..43181c0c40 100644
--- a/src/ifcparse/Ifc4.cpp
+++ b/src/ifcparse/Ifc4.cpp
@@ -1188,6 +1188,10 @@ Ifc4::IfcActionRequestTypeEnum::Value Ifc4::IfcActionRequestTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcActionRequestTypeEnum::operator Ifc4::IfcActionRequestTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcActionSourceTypeEnum::declaration() const { return *IFC4_IfcActionSourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcActionSourceTypeEnum::Class() { return *IFC4_IfcActionSourceTypeEnum_type; }
@@ -1244,6 +1248,10 @@ Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcActionSourceTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcActionSourceTypeEnum::operator Ifc4::IfcActionSourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcActionTypeEnum::declaration() const { return *IFC4_IfcActionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcActionTypeEnum::Class() { return *IFC4_IfcActionTypeEnum_type; }
@@ -1278,6 +1286,10 @@ Ifc4::IfcActionTypeEnum::Value Ifc4::IfcActionTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcActionTypeEnum::operator Ifc4::IfcActionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcActuatorTypeEnum::declaration() const { return *IFC4_IfcActuatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcActuatorTypeEnum::Class() { return *IFC4_IfcActuatorTypeEnum_type; }
@@ -1314,6 +1326,10 @@ Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcActuatorTypeEnum::operator Ifc4::IfcActuatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAddressTypeEnum::declaration() const { return *IFC4_IfcAddressTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAddressTypeEnum::Class() { return *IFC4_IfcAddressTypeEnum_type; }
@@ -1348,6 +1364,10 @@ Ifc4::IfcAddressTypeEnum::Value Ifc4::IfcAddressTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAddressTypeEnum::operator Ifc4::IfcAddressTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC4_IfcAirTerminalBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAirTerminalBoxTypeEnum::Class() { return *IFC4_IfcAirTerminalBoxTypeEnum_type; }
@@ -1382,6 +1402,10 @@ Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAirTerminalBoxTypeEnum::operator Ifc4::IfcAirTerminalBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAirTerminalTypeEnum::declaration() const { return *IFC4_IfcAirTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAirTerminalTypeEnum::Class() { return *IFC4_IfcAirTerminalTypeEnum_type; }
@@ -1417,6 +1441,10 @@ Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAirTerminalTypeEnum::operator Ifc4::IfcAirTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC4_IfcAirToAirHeatRecoveryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC4_IfcAirToAirHeatRecoveryTypeEnum_type; }
@@ -1457,6 +1485,10 @@ Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAlarmTypeEnum::declaration() const { return *IFC4_IfcAlarmTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAlarmTypeEnum::Class() { return *IFC4_IfcAlarmTypeEnum_type; }
@@ -1494,6 +1526,10 @@ Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAlarmTypeEnum::operator Ifc4::IfcAlarmTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAnalysisModelTypeEnum::declaration() const { return *IFC4_IfcAnalysisModelTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAnalysisModelTypeEnum::Class() { return *IFC4_IfcAnalysisModelTypeEnum_type; }
@@ -1528,6 +1564,10 @@ Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcAnalysisModelTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAnalysisModelTypeEnum::operator Ifc4::IfcAnalysisModelTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC4_IfcAnalysisTheoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAnalysisTheoryTypeEnum::Class() { return *IFC4_IfcAnalysisTheoryTypeEnum_type; }
@@ -1563,6 +1603,10 @@ Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcAnalysisTheoryTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAnalysisTheoryTypeEnum::operator Ifc4::IfcAnalysisTheoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcArithmeticOperatorEnum::declaration() const { return *IFC4_IfcArithmeticOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcArithmeticOperatorEnum::Class() { return *IFC4_IfcArithmeticOperatorEnum_type; }
@@ -1596,6 +1640,10 @@ Ifc4::IfcArithmeticOperatorEnum::Value Ifc4::IfcArithmeticOperatorEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcArithmeticOperatorEnum::operator Ifc4::IfcArithmeticOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAssemblyPlaceEnum::declaration() const { return *IFC4_IfcAssemblyPlaceEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAssemblyPlaceEnum::Class() { return *IFC4_IfcAssemblyPlaceEnum_type; }
@@ -1628,6 +1676,10 @@ Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcAssemblyPlaceEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAssemblyPlaceEnum::operator Ifc4::IfcAssemblyPlaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcAudioVisualApplianceTypeEnum::declaration() const { return *IFC4_IfcAudioVisualApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcAudioVisualApplianceTypeEnum::Class() { return *IFC4_IfcAudioVisualApplianceTypeEnum_type; }
@@ -1670,6 +1722,10 @@ Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcAudioVisualApplianceTypeEnum::operator Ifc4::IfcAudioVisualApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBSplineCurveForm::declaration() const { return *IFC4_IfcBSplineCurveForm_type; }
const IfcParse::enumeration_type& Ifc4::IfcBSplineCurveForm::Class() { return *IFC4_IfcBSplineCurveForm_type; }
@@ -1705,6 +1761,10 @@ Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurveForm::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBSplineCurveForm::operator Ifc4::IfcBSplineCurveForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBSplineSurfaceForm::declaration() const { return *IFC4_IfcBSplineSurfaceForm_type; }
const IfcParse::enumeration_type& Ifc4::IfcBSplineSurfaceForm::Class() { return *IFC4_IfcBSplineSurfaceForm_type; }
@@ -1745,6 +1805,10 @@ Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurfaceForm::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBSplineSurfaceForm::operator Ifc4::IfcBSplineSurfaceForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBeamTypeEnum::declaration() const { return *IFC4_IfcBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBeamTypeEnum::Class() { return *IFC4_IfcBeamTypeEnum_type; }
@@ -1782,6 +1846,10 @@ Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBeamTypeEnum::operator Ifc4::IfcBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBenchmarkEnum::declaration() const { return *IFC4_IfcBenchmarkEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBenchmarkEnum::Class() { return *IFC4_IfcBenchmarkEnum_type; }
@@ -1821,6 +1889,10 @@ Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcBenchmarkEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBenchmarkEnum::operator Ifc4::IfcBenchmarkEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBoilerTypeEnum::declaration() const { return *IFC4_IfcBoilerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBoilerTypeEnum::Class() { return *IFC4_IfcBoilerTypeEnum_type; }
@@ -1854,6 +1926,10 @@ Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBoilerTypeEnum::operator Ifc4::IfcBoilerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBooleanOperator::declaration() const { return *IFC4_IfcBooleanOperator_type; }
const IfcParse::enumeration_type& Ifc4::IfcBooleanOperator::Class() { return *IFC4_IfcBooleanOperator_type; }
@@ -1886,6 +1962,10 @@ Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanOperator::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBooleanOperator::operator Ifc4::IfcBooleanOperator::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBuildingElementPartTypeEnum::declaration() const { return *IFC4_IfcBuildingElementPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBuildingElementPartTypeEnum::Class() { return *IFC4_IfcBuildingElementPartTypeEnum_type; }
@@ -1919,6 +1999,10 @@ Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBuildingElementPartTypeEnum::operator Ifc4::IfcBuildingElementPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC4_IfcBuildingElementProxyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBuildingElementProxyTypeEnum::Class() { return *IFC4_IfcBuildingElementProxyTypeEnum_type; }
@@ -1955,6 +2039,10 @@ Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBuildingElementProxyTypeEnum::operator Ifc4::IfcBuildingElementProxyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBuildingSystemTypeEnum::declaration() const { return *IFC4_IfcBuildingSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBuildingSystemTypeEnum::Class() { return *IFC4_IfcBuildingSystemTypeEnum_type; }
@@ -1992,6 +2080,10 @@ Ifc4::IfcBuildingSystemTypeEnum::Value Ifc4::IfcBuildingSystemTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBuildingSystemTypeEnum::operator Ifc4::IfcBuildingSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcBurnerTypeEnum::declaration() const { return *IFC4_IfcBurnerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcBurnerTypeEnum::Class() { return *IFC4_IfcBurnerTypeEnum_type; }
@@ -2023,6 +2115,10 @@ Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcBurnerTypeEnum::operator Ifc4::IfcBurnerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC4_IfcCableCarrierFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCableCarrierFittingTypeEnum::Class() { return *IFC4_IfcCableCarrierFittingTypeEnum_type; }
@@ -2058,6 +2154,10 @@ Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCableCarrierFittingTypeEnum::operator Ifc4::IfcCableCarrierFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC4_IfcCableCarrierSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC4_IfcCableCarrierSegmentTypeEnum_type; }
@@ -2093,6 +2193,10 @@ Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCableCarrierSegmentTypeEnum::operator Ifc4::IfcCableCarrierSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCableFittingTypeEnum::declaration() const { return *IFC4_IfcCableFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCableFittingTypeEnum::Class() { return *IFC4_IfcCableFittingTypeEnum_type; }
@@ -2129,6 +2233,10 @@ Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCableFittingTypeEnum::operator Ifc4::IfcCableFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCableSegmentTypeEnum::declaration() const { return *IFC4_IfcCableSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCableSegmentTypeEnum::Class() { return *IFC4_IfcCableSegmentTypeEnum_type; }
@@ -2164,6 +2272,10 @@ Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCableSegmentTypeEnum::operator Ifc4::IfcCableSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcChangeActionEnum::declaration() const { return *IFC4_IfcChangeActionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcChangeActionEnum::Class() { return *IFC4_IfcChangeActionEnum_type; }
@@ -2198,6 +2310,10 @@ Ifc4::IfcChangeActionEnum::Value Ifc4::IfcChangeActionEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcChangeActionEnum::operator Ifc4::IfcChangeActionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcChillerTypeEnum::declaration() const { return *IFC4_IfcChillerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcChillerTypeEnum::Class() { return *IFC4_IfcChillerTypeEnum_type; }
@@ -2232,6 +2348,10 @@ Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcChillerTypeEnum::operator Ifc4::IfcChillerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcChimneyTypeEnum::declaration() const { return *IFC4_IfcChimneyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcChimneyTypeEnum::Class() { return *IFC4_IfcChimneyTypeEnum_type; }
@@ -2263,6 +2383,10 @@ Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcChimneyTypeEnum::operator Ifc4::IfcChimneyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCoilTypeEnum::declaration() const { return *IFC4_IfcCoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCoilTypeEnum::Class() { return *IFC4_IfcCoilTypeEnum_type; }
@@ -2301,6 +2425,10 @@ Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCoilTypeEnum::operator Ifc4::IfcCoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcColumnTypeEnum::declaration() const { return *IFC4_IfcColumnTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcColumnTypeEnum::Class() { return *IFC4_IfcColumnTypeEnum_type; }
@@ -2334,6 +2462,10 @@ Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcColumnTypeEnum::operator Ifc4::IfcColumnTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCommunicationsApplianceTypeEnum::declaration() const { return *IFC4_IfcCommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCommunicationsApplianceTypeEnum::Class() { return *IFC4_IfcCommunicationsApplianceTypeEnum_type; }
@@ -2377,6 +2509,10 @@ Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsAppliance
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCommunicationsApplianceTypeEnum::operator Ifc4::IfcCommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *IFC4_IfcComplexPropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcComplexPropertyTemplateTypeEnum::Class() { return *IFC4_IfcComplexPropertyTemplateTypeEnum_type; }
@@ -2408,6 +2544,10 @@ Ifc4::IfcComplexPropertyTemplateTypeEnum::Value Ifc4::IfcComplexPropertyTemplate
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcComplexPropertyTemplateTypeEnum::operator Ifc4::IfcComplexPropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCompressorTypeEnum::declaration() const { return *IFC4_IfcCompressorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCompressorTypeEnum::Class() { return *IFC4_IfcCompressorTypeEnum_type; }
@@ -2454,6 +2594,10 @@ Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCompressorTypeEnum::operator Ifc4::IfcCompressorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCondenserTypeEnum::declaration() const { return *IFC4_IfcCondenserTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCondenserTypeEnum::Class() { return *IFC4_IfcCondenserTypeEnum_type; }
@@ -2492,6 +2636,10 @@ Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCondenserTypeEnum::operator Ifc4::IfcCondenserTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcConnectionTypeEnum::declaration() const { return *IFC4_IfcConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcConnectionTypeEnum::Class() { return *IFC4_IfcConnectionTypeEnum_type; }
@@ -2525,6 +2673,10 @@ Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcConnectionTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcConnectionTypeEnum::operator Ifc4::IfcConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcConstraintEnum::declaration() const { return *IFC4_IfcConstraintEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcConstraintEnum::Class() { return *IFC4_IfcConstraintEnum_type; }
@@ -2559,6 +2711,10 @@ Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraintEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcConstraintEnum::operator Ifc4::IfcConstraintEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *IFC4_IfcConstructionEquipmentResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class() { return *IFC4_IfcConstructionEquipmentResourceTypeEnum_type; }
@@ -2598,6 +2754,10 @@ Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquip
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *IFC4_IfcConstructionMaterialResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcConstructionMaterialResourceTypeEnum::Class() { return *IFC4_IfcConstructionMaterialResourceTypeEnum_type; }
@@ -2638,6 +2798,10 @@ Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMateri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcConstructionMaterialResourceTypeEnum::operator Ifc4::IfcConstructionMaterialResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcConstructionProductResourceTypeEnum::declaration() const { return *IFC4_IfcConstructionProductResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcConstructionProductResourceTypeEnum::Class() { return *IFC4_IfcConstructionProductResourceTypeEnum_type; }
@@ -2671,6 +2835,10 @@ Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProduct
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcConstructionProductResourceTypeEnum::operator Ifc4::IfcConstructionProductResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcControllerTypeEnum::declaration() const { return *IFC4_IfcControllerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcControllerTypeEnum::Class() { return *IFC4_IfcControllerTypeEnum_type; }
@@ -2707,6 +2875,10 @@ Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcControllerTypeEnum::operator Ifc4::IfcControllerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCooledBeamTypeEnum::declaration() const { return *IFC4_IfcCooledBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCooledBeamTypeEnum::Class() { return *IFC4_IfcCooledBeamTypeEnum_type; }
@@ -2740,6 +2912,10 @@ Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCooledBeamTypeEnum::operator Ifc4::IfcCooledBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCoolingTowerTypeEnum::declaration() const { return *IFC4_IfcCoolingTowerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCoolingTowerTypeEnum::Class() { return *IFC4_IfcCoolingTowerTypeEnum_type; }
@@ -2774,6 +2950,10 @@ Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCoolingTowerTypeEnum::operator Ifc4::IfcCoolingTowerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCostItemTypeEnum::declaration() const { return *IFC4_IfcCostItemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCostItemTypeEnum::Class() { return *IFC4_IfcCostItemTypeEnum_type; }
@@ -2805,6 +2985,10 @@ Ifc4::IfcCostItemTypeEnum::Value Ifc4::IfcCostItemTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCostItemTypeEnum::operator Ifc4::IfcCostItemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCostScheduleTypeEnum::declaration() const { return *IFC4_IfcCostScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCostScheduleTypeEnum::Class() { return *IFC4_IfcCostScheduleTypeEnum_type; }
@@ -2843,6 +3027,10 @@ Ifc4::IfcCostScheduleTypeEnum::Value Ifc4::IfcCostScheduleTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCostScheduleTypeEnum::operator Ifc4::IfcCostScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCoveringTypeEnum::declaration() const { return *IFC4_IfcCoveringTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCoveringTypeEnum::Class() { return *IFC4_IfcCoveringTypeEnum_type; }
@@ -2884,6 +3072,10 @@ Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCoveringTypeEnum::operator Ifc4::IfcCoveringTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCrewResourceTypeEnum::declaration() const { return *IFC4_IfcCrewResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCrewResourceTypeEnum::Class() { return *IFC4_IfcCrewResourceTypeEnum_type; }
@@ -2917,6 +3109,10 @@ Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCrewResourceTypeEnum::operator Ifc4::IfcCrewResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCurtainWallTypeEnum::declaration() const { return *IFC4_IfcCurtainWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCurtainWallTypeEnum::Class() { return *IFC4_IfcCurtainWallTypeEnum_type; }
@@ -2948,6 +3144,10 @@ Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCurtainWallTypeEnum::operator Ifc4::IfcCurtainWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcCurveInterpolationEnum::declaration() const { return *IFC4_IfcCurveInterpolationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcCurveInterpolationEnum::Class() { return *IFC4_IfcCurveInterpolationEnum_type; }
@@ -2981,6 +3181,10 @@ Ifc4::IfcCurveInterpolationEnum::Value Ifc4::IfcCurveInterpolationEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcCurveInterpolationEnum::operator Ifc4::IfcCurveInterpolationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDamperTypeEnum::declaration() const { return *IFC4_IfcDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDamperTypeEnum::Class() { return *IFC4_IfcDamperTypeEnum_type; }
@@ -3023,6 +3227,10 @@ Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDamperTypeEnum::operator Ifc4::IfcDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDataOriginEnum::declaration() const { return *IFC4_IfcDataOriginEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDataOriginEnum::Class() { return *IFC4_IfcDataOriginEnum_type; }
@@ -3057,6 +3265,10 @@ Ifc4::IfcDataOriginEnum::Value Ifc4::IfcDataOriginEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDataOriginEnum::operator Ifc4::IfcDataOriginEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDerivedUnitEnum::declaration() const { return *IFC4_IfcDerivedUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDerivedUnitEnum::Class() { return *IFC4_IfcDerivedUnitEnum_type; }
@@ -3139,6 +3351,10 @@ Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnitEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDerivedUnitEnum::operator Ifc4::IfcDerivedUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDirectionSenseEnum::declaration() const { return *IFC4_IfcDirectionSenseEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDirectionSenseEnum::Class() { return *IFC4_IfcDirectionSenseEnum_type; }
@@ -3170,6 +3386,10 @@ Ifc4::IfcDirectionSenseEnum::Value Ifc4::IfcDirectionSenseEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDirectionSenseEnum::operator Ifc4::IfcDirectionSenseEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDiscreteAccessoryTypeEnum::declaration() const { return *IFC4_IfcDiscreteAccessoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDiscreteAccessoryTypeEnum::Class() { return *IFC4_IfcDiscreteAccessoryTypeEnum_type; }
@@ -3204,6 +3424,10 @@ Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDiscreteAccessoryTypeEnum::operator Ifc4::IfcDiscreteAccessoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC4_IfcDistributionChamberElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDistributionChamberElementTypeEnum::Class() { return *IFC4_IfcDistributionChamberElementTypeEnum_type; }
@@ -3243,6 +3467,10 @@ Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberE
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDistributionChamberElementTypeEnum::operator Ifc4::IfcDistributionChamberElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDistributionPortTypeEnum::declaration() const { return *IFC4_IfcDistributionPortTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDistributionPortTypeEnum::Class() { return *IFC4_IfcDistributionPortTypeEnum_type; }
@@ -3278,6 +3506,10 @@ Ifc4::IfcDistributionPortTypeEnum::Value Ifc4::IfcDistributionPortTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDistributionPortTypeEnum::operator Ifc4::IfcDistributionPortTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDistributionSystemEnum::declaration() const { return *IFC4_IfcDistributionSystemEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDistributionSystemEnum::Class() { return *IFC4_IfcDistributionSystemEnum_type; }
@@ -3351,6 +3583,10 @@ Ifc4::IfcDistributionSystemEnum::Value Ifc4::IfcDistributionSystemEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDistributionSystemEnum::operator Ifc4::IfcDistributionSystemEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDocumentConfidentialityEnum::declaration() const { return *IFC4_IfcDocumentConfidentialityEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDocumentConfidentialityEnum::Class() { return *IFC4_IfcDocumentConfidentialityEnum_type; }
@@ -3386,6 +3622,10 @@ Ifc4::IfcDocumentConfidentialityEnum::Value Ifc4::IfcDocumentConfidentialityEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDocumentConfidentialityEnum::operator Ifc4::IfcDocumentConfidentialityEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDocumentStatusEnum::declaration() const { return *IFC4_IfcDocumentStatusEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDocumentStatusEnum::Class() { return *IFC4_IfcDocumentStatusEnum_type; }
@@ -3420,6 +3660,10 @@ Ifc4::IfcDocumentStatusEnum::Value Ifc4::IfcDocumentStatusEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDocumentStatusEnum::operator Ifc4::IfcDocumentStatusEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDoorPanelOperationEnum::declaration() const { return *IFC4_IfcDoorPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDoorPanelOperationEnum::Class() { return *IFC4_IfcDoorPanelOperationEnum_type; }
@@ -3458,6 +3702,10 @@ Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelOperationEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDoorPanelOperationEnum::operator Ifc4::IfcDoorPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDoorPanelPositionEnum::declaration() const { return *IFC4_IfcDoorPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDoorPanelPositionEnum::Class() { return *IFC4_IfcDoorPanelPositionEnum_type; }
@@ -3491,6 +3739,10 @@ Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelPositionEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDoorPanelPositionEnum::operator Ifc4::IfcDoorPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDoorStyleConstructionEnum::declaration() const { return *IFC4_IfcDoorStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDoorStyleConstructionEnum::Class() { return *IFC4_IfcDoorStyleConstructionEnum_type; }
@@ -3529,6 +3781,10 @@ Ifc4::IfcDoorStyleConstructionEnum::Value Ifc4::IfcDoorStyleConstructionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDoorStyleConstructionEnum::operator Ifc4::IfcDoorStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDoorStyleOperationEnum::declaration() const { return *IFC4_IfcDoorStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDoorStyleOperationEnum::Class() { return *IFC4_IfcDoorStyleOperationEnum_type; }
@@ -3576,6 +3832,10 @@ Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyleOperationEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDoorStyleOperationEnum::operator Ifc4::IfcDoorStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDoorTypeEnum::declaration() const { return *IFC4_IfcDoorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDoorTypeEnum::Class() { return *IFC4_IfcDoorTypeEnum_type; }
@@ -3610,6 +3870,10 @@ Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDoorTypeEnum::operator Ifc4::IfcDoorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDoorTypeOperationEnum::declaration() const { return *IFC4_IfcDoorTypeOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDoorTypeOperationEnum::Class() { return *IFC4_IfcDoorTypeOperationEnum_type; }
@@ -3659,6 +3923,10 @@ Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorTypeOperationEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDoorTypeOperationEnum::operator Ifc4::IfcDoorTypeOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDuctFittingTypeEnum::declaration() const { return *IFC4_IfcDuctFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDuctFittingTypeEnum::Class() { return *IFC4_IfcDuctFittingTypeEnum_type; }
@@ -3697,6 +3965,10 @@ Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDuctFittingTypeEnum::operator Ifc4::IfcDuctFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDuctSegmentTypeEnum::declaration() const { return *IFC4_IfcDuctSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDuctSegmentTypeEnum::Class() { return *IFC4_IfcDuctSegmentTypeEnum_type; }
@@ -3730,6 +4002,10 @@ Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDuctSegmentTypeEnum::operator Ifc4::IfcDuctSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcDuctSilencerTypeEnum::declaration() const { return *IFC4_IfcDuctSilencerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcDuctSilencerTypeEnum::Class() { return *IFC4_IfcDuctSilencerTypeEnum_type; }
@@ -3764,6 +4040,10 @@ Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcDuctSilencerTypeEnum::operator Ifc4::IfcDuctSilencerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElectricApplianceTypeEnum::declaration() const { return *IFC4_IfcElectricApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElectricApplianceTypeEnum::Class() { return *IFC4_IfcElectricApplianceTypeEnum_type; }
@@ -3811,6 +4091,10 @@ Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElectricApplianceTypeEnum::operator Ifc4::IfcElectricApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElectricDistributionBoardTypeEnum::declaration() const { return *IFC4_IfcElectricDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElectricDistributionBoardTypeEnum::Class() { return *IFC4_IfcElectricDistributionBoardTypeEnum_type; }
@@ -3846,6 +4130,10 @@ Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionB
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElectricDistributionBoardTypeEnum::operator Ifc4::IfcElectricDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC4_IfcElectricFlowStorageDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC4_IfcElectricFlowStorageDeviceTypeEnum_type; }
@@ -3882,6 +4170,10 @@ Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC4_IfcElectricGeneratorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElectricGeneratorTypeEnum::Class() { return *IFC4_IfcElectricGeneratorTypeEnum_type; }
@@ -3916,6 +4208,10 @@ Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElectricGeneratorTypeEnum::operator Ifc4::IfcElectricGeneratorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElectricMotorTypeEnum::declaration() const { return *IFC4_IfcElectricMotorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElectricMotorTypeEnum::Class() { return *IFC4_IfcElectricMotorTypeEnum_type; }
@@ -3952,6 +4248,10 @@ Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElectricMotorTypeEnum::operator Ifc4::IfcElectricMotorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC4_IfcElectricTimeControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElectricTimeControlTypeEnum::Class() { return *IFC4_IfcElectricTimeControlTypeEnum_type; }
@@ -3986,6 +4286,10 @@ Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElectricTimeControlTypeEnum::operator Ifc4::IfcElectricTimeControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElementAssemblyTypeEnum::declaration() const { return *IFC4_IfcElementAssemblyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElementAssemblyTypeEnum::Class() { return *IFC4_IfcElementAssemblyTypeEnum_type; }
@@ -4026,6 +4330,10 @@ Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElementAssemblyTypeEnum::operator Ifc4::IfcElementAssemblyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcElementCompositionEnum::declaration() const { return *IFC4_IfcElementCompositionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcElementCompositionEnum::Class() { return *IFC4_IfcElementCompositionEnum_type; }
@@ -4058,6 +4366,10 @@ Ifc4::IfcElementCompositionEnum::Value Ifc4::IfcElementCompositionEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcElementCompositionEnum::operator Ifc4::IfcElementCompositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcEngineTypeEnum::declaration() const { return *IFC4_IfcEngineTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcEngineTypeEnum::Class() { return *IFC4_IfcEngineTypeEnum_type; }
@@ -4091,6 +4403,10 @@ Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcEngineTypeEnum::operator Ifc4::IfcEngineTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC4_IfcEvaporativeCoolerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC4_IfcEvaporativeCoolerTypeEnum_type; }
@@ -4131,6 +4447,10 @@ Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcEvaporativeCoolerTypeEnum::operator Ifc4::IfcEvaporativeCoolerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcEvaporatorTypeEnum::declaration() const { return *IFC4_IfcEvaporatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcEvaporatorTypeEnum::Class() { return *IFC4_IfcEvaporatorTypeEnum_type; }
@@ -4168,6 +4488,10 @@ Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcEvaporatorTypeEnum::operator Ifc4::IfcEvaporatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcEventTriggerTypeEnum::declaration() const { return *IFC4_IfcEventTriggerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcEventTriggerTypeEnum::Class() { return *IFC4_IfcEventTriggerTypeEnum_type; }
@@ -4203,6 +4527,10 @@ Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventTriggerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcEventTriggerTypeEnum::operator Ifc4::IfcEventTriggerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcEventTypeEnum::declaration() const { return *IFC4_IfcEventTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcEventTypeEnum::Class() { return *IFC4_IfcEventTypeEnum_type; }
@@ -4237,6 +4565,10 @@ Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcEventTypeEnum::operator Ifc4::IfcEventTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcExternalSpatialElementTypeEnum::declaration() const { return *IFC4_IfcExternalSpatialElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcExternalSpatialElementTypeEnum::Class() { return *IFC4_IfcExternalSpatialElementTypeEnum_type; }
@@ -4272,6 +4604,10 @@ Ifc4::IfcExternalSpatialElementTypeEnum::Value Ifc4::IfcExternalSpatialElementTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcExternalSpatialElementTypeEnum::operator Ifc4::IfcExternalSpatialElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFanTypeEnum::declaration() const { return *IFC4_IfcFanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFanTypeEnum::Class() { return *IFC4_IfcFanTypeEnum_type; }
@@ -4310,6 +4646,10 @@ Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanTypeEnum::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFanTypeEnum::operator Ifc4::IfcFanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFastenerTypeEnum::declaration() const { return *IFC4_IfcFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFastenerTypeEnum::Class() { return *IFC4_IfcFastenerTypeEnum_type; }
@@ -4344,6 +4684,10 @@ Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFastenerTypeEnum::operator Ifc4::IfcFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFilterTypeEnum::declaration() const { return *IFC4_IfcFilterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFilterTypeEnum::Class() { return *IFC4_IfcFilterTypeEnum_type; }
@@ -4381,6 +4725,10 @@ Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFilterTypeEnum::operator Ifc4::IfcFilterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC4_IfcFireSuppressionTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC4_IfcFireSuppressionTerminalTypeEnum_type; }
@@ -4417,6 +4765,10 @@ Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminal
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFireSuppressionTerminalTypeEnum::operator Ifc4::IfcFireSuppressionTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFlowDirectionEnum::declaration() const { return *IFC4_IfcFlowDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFlowDirectionEnum::Class() { return *IFC4_IfcFlowDirectionEnum_type; }
@@ -4450,6 +4802,10 @@ Ifc4::IfcFlowDirectionEnum::Value Ifc4::IfcFlowDirectionEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFlowDirectionEnum::operator Ifc4::IfcFlowDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC4_IfcFlowInstrumentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFlowInstrumentTypeEnum::Class() { return *IFC4_IfcFlowInstrumentTypeEnum_type; }
@@ -4489,6 +4845,10 @@ Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFlowInstrumentTypeEnum::operator Ifc4::IfcFlowInstrumentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFlowMeterTypeEnum::declaration() const { return *IFC4_IfcFlowMeterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFlowMeterTypeEnum::Class() { return *IFC4_IfcFlowMeterTypeEnum_type; }
@@ -4524,6 +4884,10 @@ Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFlowMeterTypeEnum::operator Ifc4::IfcFlowMeterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFootingTypeEnum::declaration() const { return *IFC4_IfcFootingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFootingTypeEnum::Class() { return *IFC4_IfcFootingTypeEnum_type; }
@@ -4560,6 +4924,10 @@ Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFootingTypeEnum::operator Ifc4::IfcFootingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcFurnitureTypeEnum::declaration() const { return *IFC4_IfcFurnitureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcFurnitureTypeEnum::Class() { return *IFC4_IfcFurnitureTypeEnum_type; }
@@ -4598,6 +4966,10 @@ Ifc4::IfcFurnitureTypeEnum::Value Ifc4::IfcFurnitureTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcFurnitureTypeEnum::operator Ifc4::IfcFurnitureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcGeographicElementTypeEnum::declaration() const { return *IFC4_IfcGeographicElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcGeographicElementTypeEnum::Class() { return *IFC4_IfcGeographicElementTypeEnum_type; }
@@ -4630,6 +5002,10 @@ Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcGeographicElementTypeEnum::operator Ifc4::IfcGeographicElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcGeometricProjectionEnum::declaration() const { return *IFC4_IfcGeometricProjectionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcGeometricProjectionEnum::Class() { return *IFC4_IfcGeometricProjectionEnum_type; }
@@ -4668,6 +5044,10 @@ Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricProjectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcGeometricProjectionEnum::operator Ifc4::IfcGeometricProjectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcGlobalOrLocalEnum::declaration() const { return *IFC4_IfcGlobalOrLocalEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcGlobalOrLocalEnum::Class() { return *IFC4_IfcGlobalOrLocalEnum_type; }
@@ -4699,6 +5079,10 @@ Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcGlobalOrLocalEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcGlobalOrLocalEnum::operator Ifc4::IfcGlobalOrLocalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcGridTypeEnum::declaration() const { return *IFC4_IfcGridTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcGridTypeEnum::Class() { return *IFC4_IfcGridTypeEnum_type; }
@@ -4734,6 +5118,10 @@ Ifc4::IfcGridTypeEnum::Value Ifc4::IfcGridTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcGridTypeEnum::operator Ifc4::IfcGridTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcHeatExchangerTypeEnum::declaration() const { return *IFC4_IfcHeatExchangerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcHeatExchangerTypeEnum::Class() { return *IFC4_IfcHeatExchangerTypeEnum_type; }
@@ -4767,6 +5155,10 @@ Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcHeatExchangerTypeEnum::operator Ifc4::IfcHeatExchangerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcHumidifierTypeEnum::declaration() const { return *IFC4_IfcHumidifierTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcHumidifierTypeEnum::Class() { return *IFC4_IfcHumidifierTypeEnum_type; }
@@ -4811,6 +5203,10 @@ Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcHumidifierTypeEnum::operator Ifc4::IfcHumidifierTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcInterceptorTypeEnum::declaration() const { return *IFC4_IfcInterceptorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcInterceptorTypeEnum::Class() { return *IFC4_IfcInterceptorTypeEnum_type; }
@@ -4846,6 +5242,10 @@ Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcInterceptorTypeEnum::operator Ifc4::IfcInterceptorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcInternalOrExternalEnum::declaration() const { return *IFC4_IfcInternalOrExternalEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcInternalOrExternalEnum::Class() { return *IFC4_IfcInternalOrExternalEnum_type; }
@@ -4881,6 +5281,10 @@ Ifc4::IfcInternalOrExternalEnum::Value Ifc4::IfcInternalOrExternalEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcInternalOrExternalEnum::operator Ifc4::IfcInternalOrExternalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcInventoryTypeEnum::declaration() const { return *IFC4_IfcInventoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcInventoryTypeEnum::Class() { return *IFC4_IfcInventoryTypeEnum_type; }
@@ -4915,6 +5319,10 @@ Ifc4::IfcInventoryTypeEnum::Value Ifc4::IfcInventoryTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcInventoryTypeEnum::operator Ifc4::IfcInventoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcJunctionBoxTypeEnum::declaration() const { return *IFC4_IfcJunctionBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcJunctionBoxTypeEnum::Class() { return *IFC4_IfcJunctionBoxTypeEnum_type; }
@@ -4948,6 +5356,10 @@ Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcJunctionBoxTypeEnum::operator Ifc4::IfcJunctionBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcKnotType::declaration() const { return *IFC4_IfcKnotType_type; }
const IfcParse::enumeration_type& Ifc4::IfcKnotType::Class() { return *IFC4_IfcKnotType_type; }
@@ -4981,6 +5393,10 @@ Ifc4::IfcKnotType::Value Ifc4::IfcKnotType::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcKnotType::operator Ifc4::IfcKnotType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLaborResourceTypeEnum::declaration() const { return *IFC4_IfcLaborResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLaborResourceTypeEnum::Class() { return *IFC4_IfcLaborResourceTypeEnum_type; }
@@ -5031,6 +5447,10 @@ Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLaborResourceTypeEnum::operator Ifc4::IfcLaborResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLampTypeEnum::declaration() const { return *IFC4_IfcLampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLampTypeEnum::Class() { return *IFC4_IfcLampTypeEnum_type; }
@@ -5071,6 +5491,10 @@ Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLampTypeEnum::operator Ifc4::IfcLampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLayerSetDirectionEnum::declaration() const { return *IFC4_IfcLayerSetDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLayerSetDirectionEnum::Class() { return *IFC4_IfcLayerSetDirectionEnum_type; }
@@ -5103,6 +5527,10 @@ Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcLayerSetDirectionEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLayerSetDirectionEnum::operator Ifc4::IfcLayerSetDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLightDistributionCurveEnum::declaration() const { return *IFC4_IfcLightDistributionCurveEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLightDistributionCurveEnum::Class() { return *IFC4_IfcLightDistributionCurveEnum_type; }
@@ -5136,6 +5564,10 @@ Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightDistributionCurveEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLightDistributionCurveEnum::operator Ifc4::IfcLightDistributionCurveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLightEmissionSourceEnum::declaration() const { return *IFC4_IfcLightEmissionSourceEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLightEmissionSourceEnum::Class() { return *IFC4_IfcLightEmissionSourceEnum_type; }
@@ -5176,6 +5608,10 @@ Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightEmissionSourceEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLightEmissionSourceEnum::operator Ifc4::IfcLightEmissionSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLightFixtureTypeEnum::declaration() const { return *IFC4_IfcLightFixtureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLightFixtureTypeEnum::Class() { return *IFC4_IfcLightFixtureTypeEnum_type; }
@@ -5210,6 +5646,10 @@ Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLightFixtureTypeEnum::operator Ifc4::IfcLightFixtureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLoadGroupTypeEnum::declaration() const { return *IFC4_IfcLoadGroupTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLoadGroupTypeEnum::Class() { return *IFC4_IfcLoadGroupTypeEnum_type; }
@@ -5244,6 +5684,10 @@ Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcLoadGroupTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLoadGroupTypeEnum::operator Ifc4::IfcLoadGroupTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcLogicalOperatorEnum::declaration() const { return *IFC4_IfcLogicalOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcLogicalOperatorEnum::Class() { return *IFC4_IfcLogicalOperatorEnum_type; }
@@ -5278,6 +5722,10 @@ Ifc4::IfcLogicalOperatorEnum::Value Ifc4::IfcLogicalOperatorEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcLogicalOperatorEnum::operator Ifc4::IfcLogicalOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcMechanicalFastenerTypeEnum::declaration() const { return *IFC4_IfcMechanicalFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcMechanicalFastenerTypeEnum::Class() { return *IFC4_IfcMechanicalFastenerTypeEnum_type; }
@@ -5319,6 +5767,10 @@ Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcMechanicalFastenerTypeEnum::operator Ifc4::IfcMechanicalFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcMedicalDeviceTypeEnum::declaration() const { return *IFC4_IfcMedicalDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcMedicalDeviceTypeEnum::Class() { return *IFC4_IfcMedicalDeviceTypeEnum_type; }
@@ -5355,6 +5807,10 @@ Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcMedicalDeviceTypeEnum::operator Ifc4::IfcMedicalDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcMemberTypeEnum::declaration() const { return *IFC4_IfcMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcMemberTypeEnum::Class() { return *IFC4_IfcMemberTypeEnum_type; }
@@ -5398,6 +5854,10 @@ Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcMemberTypeEnum::operator Ifc4::IfcMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcMotorConnectionTypeEnum::declaration() const { return *IFC4_IfcMotorConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcMotorConnectionTypeEnum::Class() { return *IFC4_IfcMotorConnectionTypeEnum_type; }
@@ -5432,6 +5892,10 @@ Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcMotorConnectionTypeEnum::operator Ifc4::IfcMotorConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcNullStyle::declaration() const { return *IFC4_IfcNullStyle_type; }
const IfcParse::enumeration_type& Ifc4::IfcNullStyle::Class() { return *IFC4_IfcNullStyle_type; }
@@ -5462,6 +5926,10 @@ Ifc4::IfcNullStyle::Value Ifc4::IfcNullStyle::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcNullStyle::operator Ifc4::IfcNullStyle::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcObjectTypeEnum::declaration() const { return *IFC4_IfcObjectTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcObjectTypeEnum::Class() { return *IFC4_IfcObjectTypeEnum_type; }
@@ -5499,6 +5967,10 @@ Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcObjectTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcObjectTypeEnum::operator Ifc4::IfcObjectTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcObjectiveEnum::declaration() const { return *IFC4_IfcObjectiveEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcObjectiveEnum::Class() { return *IFC4_IfcObjectiveEnum_type; }
@@ -5541,6 +6013,10 @@ Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjectiveEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcObjectiveEnum::operator Ifc4::IfcObjectiveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcOccupantTypeEnum::declaration() const { return *IFC4_IfcOccupantTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcOccupantTypeEnum::Class() { return *IFC4_IfcOccupantTypeEnum_type; }
@@ -5579,6 +6055,10 @@ Ifc4::IfcOccupantTypeEnum::Value Ifc4::IfcOccupantTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcOccupantTypeEnum::operator Ifc4::IfcOccupantTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcOpeningElementTypeEnum::declaration() const { return *IFC4_IfcOpeningElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcOpeningElementTypeEnum::Class() { return *IFC4_IfcOpeningElementTypeEnum_type; }
@@ -5612,6 +6092,10 @@ Ifc4::IfcOpeningElementTypeEnum::Value Ifc4::IfcOpeningElementTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcOpeningElementTypeEnum::operator Ifc4::IfcOpeningElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcOutletTypeEnum::declaration() const { return *IFC4_IfcOutletTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcOutletTypeEnum::Class() { return *IFC4_IfcOutletTypeEnum_type; }
@@ -5648,6 +6132,10 @@ Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcOutletTypeEnum::operator Ifc4::IfcOutletTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPerformanceHistoryTypeEnum::declaration() const { return *IFC4_IfcPerformanceHistoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPerformanceHistoryTypeEnum::Class() { return *IFC4_IfcPerformanceHistoryTypeEnum_type; }
@@ -5679,6 +6167,10 @@ Ifc4::IfcPerformanceHistoryTypeEnum::Value Ifc4::IfcPerformanceHistoryTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPerformanceHistoryTypeEnum::operator Ifc4::IfcPerformanceHistoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC4_IfcPermeableCoveringOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPermeableCoveringOperationEnum::Class() { return *IFC4_IfcPermeableCoveringOperationEnum_type; }
@@ -5713,6 +6205,10 @@ Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringOperati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPermeableCoveringOperationEnum::operator Ifc4::IfcPermeableCoveringOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPermitTypeEnum::declaration() const { return *IFC4_IfcPermitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPermitTypeEnum::Class() { return *IFC4_IfcPermitTypeEnum_type; }
@@ -5747,6 +6243,10 @@ Ifc4::IfcPermitTypeEnum::Value Ifc4::IfcPermitTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPermitTypeEnum::operator Ifc4::IfcPermitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC4_IfcPhysicalOrVirtualEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPhysicalOrVirtualEnum::Class() { return *IFC4_IfcPhysicalOrVirtualEnum_type; }
@@ -5779,6 +6279,10 @@ Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcPhysicalOrVirtualEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPhysicalOrVirtualEnum::operator Ifc4::IfcPhysicalOrVirtualEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPileConstructionEnum::declaration() const { return *IFC4_IfcPileConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPileConstructionEnum::Class() { return *IFC4_IfcPileConstructionEnum_type; }
@@ -5814,6 +6318,10 @@ Ifc4::IfcPileConstructionEnum::Value Ifc4::IfcPileConstructionEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPileConstructionEnum::operator Ifc4::IfcPileConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPileTypeEnum::declaration() const { return *IFC4_IfcPileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPileTypeEnum::Class() { return *IFC4_IfcPileTypeEnum_type; }
@@ -5851,6 +6359,10 @@ Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPileTypeEnum::operator Ifc4::IfcPileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPipeFittingTypeEnum::declaration() const { return *IFC4_IfcPipeFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPipeFittingTypeEnum::Class() { return *IFC4_IfcPipeFittingTypeEnum_type; }
@@ -5889,6 +6401,10 @@ Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPipeFittingTypeEnum::operator Ifc4::IfcPipeFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPipeSegmentTypeEnum::declaration() const { return *IFC4_IfcPipeSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPipeSegmentTypeEnum::Class() { return *IFC4_IfcPipeSegmentTypeEnum_type; }
@@ -5925,6 +6441,10 @@ Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPipeSegmentTypeEnum::operator Ifc4::IfcPipeSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPlateTypeEnum::declaration() const { return *IFC4_IfcPlateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPlateTypeEnum::Class() { return *IFC4_IfcPlateTypeEnum_type; }
@@ -5958,6 +6478,10 @@ Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPlateTypeEnum::operator Ifc4::IfcPlateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *IFC4_IfcPreferredSurfaceCurveRepresentation_type; }
const IfcParse::enumeration_type& Ifc4::IfcPreferredSurfaceCurveRepresentation::Class() { return *IFC4_IfcPreferredSurfaceCurveRepresentation_type; }
@@ -5990,6 +6514,10 @@ Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcPreferredSurfaceCur
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPreferredSurfaceCurveRepresentation::operator Ifc4::IfcPreferredSurfaceCurveRepresentation::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProcedureTypeEnum::declaration() const { return *IFC4_IfcProcedureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProcedureTypeEnum::Class() { return *IFC4_IfcProcedureTypeEnum_type; }
@@ -6028,6 +6556,10 @@ Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProcedureTypeEnum::operator Ifc4::IfcProcedureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProfileTypeEnum::declaration() const { return *IFC4_IfcProfileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProfileTypeEnum::Class() { return *IFC4_IfcProfileTypeEnum_type; }
@@ -6059,6 +6591,10 @@ Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProfileTypeEnum::operator Ifc4::IfcProfileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProjectOrderTypeEnum::declaration() const { return *IFC4_IfcProjectOrderTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProjectOrderTypeEnum::Class() { return *IFC4_IfcProjectOrderTypeEnum_type; }
@@ -6095,6 +6631,10 @@ Ifc4::IfcProjectOrderTypeEnum::Value Ifc4::IfcProjectOrderTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProjectOrderTypeEnum::operator Ifc4::IfcProjectOrderTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC4_IfcProjectedOrTrueLengthEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProjectedOrTrueLengthEnum::Class() { return *IFC4_IfcProjectedOrTrueLengthEnum_type; }
@@ -6126,6 +6666,10 @@ Ifc4::IfcProjectedOrTrueLengthEnum::Value Ifc4::IfcProjectedOrTrueLengthEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProjectedOrTrueLengthEnum::operator Ifc4::IfcProjectedOrTrueLengthEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProjectionElementTypeEnum::declaration() const { return *IFC4_IfcProjectionElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProjectionElementTypeEnum::Class() { return *IFC4_IfcProjectionElementTypeEnum_type; }
@@ -6157,6 +6701,10 @@ Ifc4::IfcProjectionElementTypeEnum::Value Ifc4::IfcProjectionElementTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProjectionElementTypeEnum::operator Ifc4::IfcProjectionElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPropertySetTemplateTypeEnum::declaration() const { return *IFC4_IfcPropertySetTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPropertySetTemplateTypeEnum::Class() { return *IFC4_IfcPropertySetTemplateTypeEnum_type; }
@@ -6194,6 +6742,10 @@ Ifc4::IfcPropertySetTemplateTypeEnum::Value Ifc4::IfcPropertySetTemplateTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPropertySetTemplateTypeEnum::operator Ifc4::IfcPropertySetTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
@@ -6229,6 +6781,10 @@ Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC4_IfcProtectiveDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTypeEnum::Class() { return *IFC4_IfcProtectiveDeviceTypeEnum_type; }
@@ -6267,6 +6823,10 @@ Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcProtectiveDeviceTypeEnum::operator Ifc4::IfcProtectiveDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcPumpTypeEnum::declaration() const { return *IFC4_IfcPumpTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcPumpTypeEnum::Class() { return *IFC4_IfcPumpTypeEnum_type; }
@@ -6305,6 +6865,10 @@ Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcPumpTypeEnum::operator Ifc4::IfcPumpTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcRailingTypeEnum::declaration() const { return *IFC4_IfcRailingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcRailingTypeEnum::Class() { return *IFC4_IfcRailingTypeEnum_type; }
@@ -6339,6 +6903,10 @@ Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcRailingTypeEnum::operator Ifc4::IfcRailingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcRampFlightTypeEnum::declaration() const { return *IFC4_IfcRampFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcRampFlightTypeEnum::Class() { return *IFC4_IfcRampFlightTypeEnum_type; }
@@ -6372,6 +6940,10 @@ Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcRampFlightTypeEnum::operator Ifc4::IfcRampFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcRampTypeEnum::declaration() const { return *IFC4_IfcRampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcRampTypeEnum::Class() { return *IFC4_IfcRampTypeEnum_type; }
@@ -6409,6 +6981,10 @@ Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcRampTypeEnum::operator Ifc4::IfcRampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcRecurrenceTypeEnum::declaration() const { return *IFC4_IfcRecurrenceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcRecurrenceTypeEnum::Class() { return *IFC4_IfcRecurrenceTypeEnum_type; }
@@ -6446,6 +7022,10 @@ Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrenceTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcRecurrenceTypeEnum::operator Ifc4::IfcRecurrenceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcReflectanceMethodEnum::declaration() const { return *IFC4_IfcReflectanceMethodEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcReflectanceMethodEnum::Class() { return *IFC4_IfcReflectanceMethodEnum_type; }
@@ -6485,6 +7065,10 @@ Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcReflectanceMethodEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcReflectanceMethodEnum::operator Ifc4::IfcReflectanceMethodEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarRoleEnum::declaration() const { return *IFC4_IfcReinforcingBarRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarRoleEnum::Class() { return *IFC4_IfcReinforcingBarRoleEnum_type; }
@@ -6524,6 +7108,10 @@ Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcReinforcingBarRoleEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcReinforcingBarRoleEnum::operator Ifc4::IfcReinforcingBarRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC4_IfcReinforcingBarSurfaceEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarSurfaceEnum::Class() { return *IFC4_IfcReinforcingBarSurfaceEnum_type; }
@@ -6555,6 +7143,10 @@ Ifc4::IfcReinforcingBarSurfaceEnum::Value Ifc4::IfcReinforcingBarSurfaceEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcReinforcingBarSurfaceEnum::operator Ifc4::IfcReinforcingBarSurfaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarTypeEnum::declaration() const { return *IFC4_IfcReinforcingBarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarTypeEnum::Class() { return *IFC4_IfcReinforcingBarTypeEnum_type; }
@@ -6594,6 +7186,10 @@ Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcReinforcingBarTypeEnum::operator Ifc4::IfcReinforcingBarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcReinforcingMeshTypeEnum::declaration() const { return *IFC4_IfcReinforcingMeshTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcReinforcingMeshTypeEnum::Class() { return *IFC4_IfcReinforcingMeshTypeEnum_type; }
@@ -6625,6 +7221,10 @@ Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcReinforcingMeshTypeEnum::operator Ifc4::IfcReinforcingMeshTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcRoleEnum::declaration() const { return *IFC4_IfcRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcRoleEnum::Class() { return *IFC4_IfcRoleEnum_type; }
@@ -6677,6 +7277,10 @@ Ifc4::IfcRoleEnum::Value Ifc4::IfcRoleEnum::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcRoleEnum::operator Ifc4::IfcRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcRoofTypeEnum::declaration() const { return *IFC4_IfcRoofTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcRoofTypeEnum::Class() { return *IFC4_IfcRoofTypeEnum_type; }
@@ -6721,6 +7325,10 @@ Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcRoofTypeEnum::operator Ifc4::IfcRoofTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSIPrefix::declaration() const { return *IFC4_IfcSIPrefix_type; }
const IfcParse::enumeration_type& Ifc4::IfcSIPrefix::Class() { return *IFC4_IfcSIPrefix_type; }
@@ -6766,6 +7374,10 @@ Ifc4::IfcSIPrefix::Value Ifc4::IfcSIPrefix::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSIPrefix::operator Ifc4::IfcSIPrefix::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSIUnitName::declaration() const { return *IFC4_IfcSIUnitName_type; }
const IfcParse::enumeration_type& Ifc4::IfcSIUnitName::Class() { return *IFC4_IfcSIUnitName_type; }
@@ -6825,6 +7437,10 @@ Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnitName::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSIUnitName::operator Ifc4::IfcSIUnitName::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC4_IfcSanitaryTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSanitaryTerminalTypeEnum::Class() { return *IFC4_IfcSanitaryTerminalTypeEnum_type; }
@@ -6866,6 +7482,10 @@ Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSanitaryTerminalTypeEnum::operator Ifc4::IfcSanitaryTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSectionTypeEnum::declaration() const { return *IFC4_IfcSectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSectionTypeEnum::Class() { return *IFC4_IfcSectionTypeEnum_type; }
@@ -6897,6 +7517,10 @@ Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSectionTypeEnum::operator Ifc4::IfcSectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSensorTypeEnum::declaration() const { return *IFC4_IfcSensorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSensorTypeEnum::Class() { return *IFC4_IfcSensorTypeEnum_type; }
@@ -6952,6 +7576,10 @@ Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSensorTypeEnum::operator Ifc4::IfcSensorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSequenceEnum::declaration() const { return *IFC4_IfcSequenceEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSequenceEnum::Class() { return *IFC4_IfcSequenceEnum_type; }
@@ -6987,6 +7615,10 @@ Ifc4::IfcSequenceEnum::Value Ifc4::IfcSequenceEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSequenceEnum::operator Ifc4::IfcSequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcShadingDeviceTypeEnum::declaration() const { return *IFC4_IfcShadingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcShadingDeviceTypeEnum::Class() { return *IFC4_IfcShadingDeviceTypeEnum_type; }
@@ -7021,6 +7653,10 @@ Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcShadingDeviceTypeEnum::operator Ifc4::IfcShadingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *IFC4_IfcSimplePropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSimplePropertyTemplateTypeEnum::Class() { return *IFC4_IfcSimplePropertyTemplateTypeEnum_type; }
@@ -7062,6 +7698,10 @@ Ifc4::IfcSimplePropertyTemplateTypeEnum::Value Ifc4::IfcSimplePropertyTemplateTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSimplePropertyTemplateTypeEnum::operator Ifc4::IfcSimplePropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSlabTypeEnum::declaration() const { return *IFC4_IfcSlabTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSlabTypeEnum::Class() { return *IFC4_IfcSlabTypeEnum_type; }
@@ -7097,6 +7737,10 @@ Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSlabTypeEnum::operator Ifc4::IfcSlabTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSolarDeviceTypeEnum::declaration() const { return *IFC4_IfcSolarDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSolarDeviceTypeEnum::Class() { return *IFC4_IfcSolarDeviceTypeEnum_type; }
@@ -7130,6 +7774,10 @@ Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSolarDeviceTypeEnum::operator Ifc4::IfcSolarDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC4_IfcSpaceHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSpaceHeaterTypeEnum::Class() { return *IFC4_IfcSpaceHeaterTypeEnum_type; }
@@ -7163,6 +7811,10 @@ Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSpaceHeaterTypeEnum::operator Ifc4::IfcSpaceHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSpaceTypeEnum::declaration() const { return *IFC4_IfcSpaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSpaceTypeEnum::Class() { return *IFC4_IfcSpaceTypeEnum_type; }
@@ -7199,6 +7851,10 @@ Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSpaceTypeEnum::operator Ifc4::IfcSpaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSpatialZoneTypeEnum::declaration() const { return *IFC4_IfcSpatialZoneTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSpatialZoneTypeEnum::Class() { return *IFC4_IfcSpatialZoneTypeEnum_type; }
@@ -7238,6 +7894,10 @@ Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSpatialZoneTypeEnum::operator Ifc4::IfcSpatialZoneTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStackTerminalTypeEnum::declaration() const { return *IFC4_IfcStackTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStackTerminalTypeEnum::Class() { return *IFC4_IfcStackTerminalTypeEnum_type; }
@@ -7272,6 +7932,10 @@ Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStackTerminalTypeEnum::operator Ifc4::IfcStackTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStairFlightTypeEnum::declaration() const { return *IFC4_IfcStairFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStairFlightTypeEnum::Class() { return *IFC4_IfcStairFlightTypeEnum_type; }
@@ -7308,6 +7972,10 @@ Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStairFlightTypeEnum::operator Ifc4::IfcStairFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStairTypeEnum::declaration() const { return *IFC4_IfcStairTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStairTypeEnum::Class() { return *IFC4_IfcStairTypeEnum_type; }
@@ -7353,6 +8021,10 @@ Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStairTypeEnum::operator Ifc4::IfcStairTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStateEnum::declaration() const { return *IFC4_IfcStateEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStateEnum::Class() { return *IFC4_IfcStateEnum_type; }
@@ -7387,6 +8059,10 @@ Ifc4::IfcStateEnum::Value Ifc4::IfcStateEnum::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStateEnum::operator Ifc4::IfcStateEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveActivityTypeEnum::declaration() const { return *IFC4_IfcStructuralCurveActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveActivityTypeEnum::Class() { return *IFC4_IfcStructuralCurveActivityTypeEnum_type; }
@@ -7425,6 +8101,10 @@ Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveActivity
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStructuralCurveActivityTypeEnum::operator Ifc4::IfcStructuralCurveActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveMemberTypeEnum::declaration() const { return *IFC4_IfcStructuralCurveMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveMemberTypeEnum::Class() { return *IFC4_IfcStructuralCurveMemberTypeEnum_type; }
@@ -7461,6 +8141,10 @@ Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMemberType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStructuralCurveMemberTypeEnum::operator Ifc4::IfcStructuralCurveMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *IFC4_IfcStructuralSurfaceActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class() { return *IFC4_IfcStructuralSurfaceActivityTypeEnum_type; }
@@ -7496,6 +8180,10 @@ Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceActi
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *IFC4_IfcStructuralSurfaceMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class() { return *IFC4_IfcStructuralSurfaceMemberTypeEnum_type; }
@@ -7530,6 +8218,10 @@ Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSubContractResourceTypeEnum::declaration() const { return *IFC4_IfcSubContractResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSubContractResourceTypeEnum::Class() { return *IFC4_IfcSubContractResourceTypeEnum_type; }
@@ -7563,6 +8255,10 @@ Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSubContractResourceTypeEnum::operator Ifc4::IfcSubContractResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSurfaceFeatureTypeEnum::declaration() const { return *IFC4_IfcSurfaceFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSurfaceFeatureTypeEnum::Class() { return *IFC4_IfcSurfaceFeatureTypeEnum_type; }
@@ -7597,6 +8293,10 @@ Ifc4::IfcSurfaceFeatureTypeEnum::Value Ifc4::IfcSurfaceFeatureTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSurfaceFeatureTypeEnum::operator Ifc4::IfcSurfaceFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSurfaceSide::declaration() const { return *IFC4_IfcSurfaceSide_type; }
const IfcParse::enumeration_type& Ifc4::IfcSurfaceSide::Class() { return *IFC4_IfcSurfaceSide_type; }
@@ -7629,6 +8329,10 @@ Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceSide::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSurfaceSide::operator Ifc4::IfcSurfaceSide::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC4_IfcSwitchingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSwitchingDeviceTypeEnum::Class() { return *IFC4_IfcSwitchingDeviceTypeEnum_type; }
@@ -7669,6 +8373,10 @@ Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSwitchingDeviceTypeEnum::operator Ifc4::IfcSwitchingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcSystemFurnitureElementTypeEnum::declaration() const { return *IFC4_IfcSystemFurnitureElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcSystemFurnitureElementTypeEnum::Class() { return *IFC4_IfcSystemFurnitureElementTypeEnum_type; }
@@ -7702,6 +8410,10 @@ Ifc4::IfcSystemFurnitureElementTypeEnum::Value Ifc4::IfcSystemFurnitureElementTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcSystemFurnitureElementTypeEnum::operator Ifc4::IfcSystemFurnitureElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTankTypeEnum::declaration() const { return *IFC4_IfcTankTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTankTypeEnum::Class() { return *IFC4_IfcTankTypeEnum_type; }
@@ -7740,6 +8452,10 @@ Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTankTypeEnum::operator Ifc4::IfcTankTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTaskDurationEnum::declaration() const { return *IFC4_IfcTaskDurationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTaskDurationEnum::Class() { return *IFC4_IfcTaskDurationEnum_type; }
@@ -7772,6 +8488,10 @@ Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcTaskDurationEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTaskDurationEnum::operator Ifc4::IfcTaskDurationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTaskTypeEnum::declaration() const { return *IFC4_IfcTaskTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTaskTypeEnum::Class() { return *IFC4_IfcTaskTypeEnum_type; }
@@ -7815,6 +8535,10 @@ Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTaskTypeEnum::operator Ifc4::IfcTaskTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTendonAnchorTypeEnum::declaration() const { return *IFC4_IfcTendonAnchorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTendonAnchorTypeEnum::Class() { return *IFC4_IfcTendonAnchorTypeEnum_type; }
@@ -7849,6 +8573,10 @@ Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTendonAnchorTypeEnum::operator Ifc4::IfcTendonAnchorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTendonTypeEnum::declaration() const { return *IFC4_IfcTendonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTendonTypeEnum::Class() { return *IFC4_IfcTendonTypeEnum_type; }
@@ -7884,6 +8612,10 @@ Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTendonTypeEnum::operator Ifc4::IfcTendonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTextPath::declaration() const { return *IFC4_IfcTextPath_type; }
const IfcParse::enumeration_type& Ifc4::IfcTextPath::Class() { return *IFC4_IfcTextPath_type; }
@@ -7917,6 +8649,10 @@ Ifc4::IfcTextPath::Value Ifc4::IfcTextPath::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTextPath::operator Ifc4::IfcTextPath::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC4_IfcTimeSeriesDataTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTimeSeriesDataTypeEnum::Class() { return *IFC4_IfcTimeSeriesDataTypeEnum_type; }
@@ -7953,6 +8689,10 @@ Ifc4::IfcTimeSeriesDataTypeEnum::Value Ifc4::IfcTimeSeriesDataTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTimeSeriesDataTypeEnum::operator Ifc4::IfcTimeSeriesDataTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTransformerTypeEnum::declaration() const { return *IFC4_IfcTransformerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTransformerTypeEnum::Class() { return *IFC4_IfcTransformerTypeEnum_type; }
@@ -7989,6 +8729,10 @@ Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTransformerTypeEnum::operator Ifc4::IfcTransformerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTransitionCode::declaration() const { return *IFC4_IfcTransitionCode_type; }
const IfcParse::enumeration_type& Ifc4::IfcTransitionCode::Class() { return *IFC4_IfcTransitionCode_type; }
@@ -8022,6 +8766,10 @@ Ifc4::IfcTransitionCode::Value Ifc4::IfcTransitionCode::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTransitionCode::operator Ifc4::IfcTransitionCode::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTransportElementTypeEnum::declaration() const { return *IFC4_IfcTransportElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTransportElementTypeEnum::Class() { return *IFC4_IfcTransportElementTypeEnum_type; }
@@ -8058,6 +8806,10 @@ Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTransportElementTypeEnum::operator Ifc4::IfcTransportElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTrimmingPreference::declaration() const { return *IFC4_IfcTrimmingPreference_type; }
const IfcParse::enumeration_type& Ifc4::IfcTrimmingPreference::Class() { return *IFC4_IfcTrimmingPreference_type; }
@@ -8090,6 +8842,10 @@ Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmingPreference::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTrimmingPreference::operator Ifc4::IfcTrimmingPreference::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcTubeBundleTypeEnum::declaration() const { return *IFC4_IfcTubeBundleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcTubeBundleTypeEnum::Class() { return *IFC4_IfcTubeBundleTypeEnum_type; }
@@ -8122,6 +8878,10 @@ Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcTubeBundleTypeEnum::operator Ifc4::IfcTubeBundleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcUnitEnum::declaration() const { return *IFC4_IfcUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcUnitEnum::Class() { return *IFC4_IfcUnitEnum_type; }
@@ -8181,6 +8941,10 @@ Ifc4::IfcUnitEnum::Value Ifc4::IfcUnitEnum::FromString(const std::string& s) {
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcUnitEnum::operator Ifc4::IfcUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcUnitaryControlElementTypeEnum::declaration() const { return *IFC4_IfcUnitaryControlElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcUnitaryControlElementTypeEnum::Class() { return *IFC4_IfcUnitaryControlElementTypeEnum_type; }
@@ -8220,6 +8984,10 @@ Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcUnitaryControlElementTypeEnum::operator Ifc4::IfcUnitaryControlElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC4_IfcUnitaryEquipmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC4_IfcUnitaryEquipmentTypeEnum_type; }
@@ -8256,6 +9024,10 @@ Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcUnitaryEquipmentTypeEnum::operator Ifc4::IfcUnitaryEquipmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcValveTypeEnum::declaration() const { return *IFC4_IfcValveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcValveTypeEnum::Class() { return *IFC4_IfcValveTypeEnum_type; }
@@ -8308,6 +9080,10 @@ Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcValveTypeEnum::operator Ifc4::IfcValveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC4_IfcVibrationIsolatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcVibrationIsolatorTypeEnum::Class() { return *IFC4_IfcVibrationIsolatorTypeEnum_type; }
@@ -8341,6 +9117,10 @@ Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcVibrationIsolatorTypeEnum::operator Ifc4::IfcVibrationIsolatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcVoidingFeatureTypeEnum::declaration() const { return *IFC4_IfcVoidingFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcVoidingFeatureTypeEnum::Class() { return *IFC4_IfcVoidingFeatureTypeEnum_type; }
@@ -8378,6 +9158,10 @@ Ifc4::IfcVoidingFeatureTypeEnum::Value Ifc4::IfcVoidingFeatureTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcVoidingFeatureTypeEnum::operator Ifc4::IfcVoidingFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWallTypeEnum::declaration() const { return *IFC4_IfcWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWallTypeEnum::Class() { return *IFC4_IfcWallTypeEnum_type; }
@@ -8418,6 +9202,10 @@ Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallTypeEnum::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWallTypeEnum::operator Ifc4::IfcWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWasteTerminalTypeEnum::declaration() const { return *IFC4_IfcWasteTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWasteTerminalTypeEnum::Class() { return *IFC4_IfcWasteTerminalTypeEnum_type; }
@@ -8456,6 +9244,10 @@ Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWasteTerminalTypeEnum::operator Ifc4::IfcWasteTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWindowPanelOperationEnum::declaration() const { return *IFC4_IfcWindowPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWindowPanelOperationEnum::Class() { return *IFC4_IfcWindowPanelOperationEnum_type; }
@@ -8499,6 +9291,10 @@ Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWindowPanelOperationEnum::operator Ifc4::IfcWindowPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWindowPanelPositionEnum::declaration() const { return *IFC4_IfcWindowPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWindowPanelPositionEnum::Class() { return *IFC4_IfcWindowPanelPositionEnum_type; }
@@ -8534,6 +9330,10 @@ Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelPositionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWindowPanelPositionEnum::operator Ifc4::IfcWindowPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWindowStyleConstructionEnum::declaration() const { return *IFC4_IfcWindowStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWindowStyleConstructionEnum::Class() { return *IFC4_IfcWindowStyleConstructionEnum_type; }
@@ -8571,6 +9371,10 @@ Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyleConstructionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWindowStyleConstructionEnum::operator Ifc4::IfcWindowStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWindowStyleOperationEnum::declaration() const { return *IFC4_IfcWindowStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWindowStyleOperationEnum::Class() { return *IFC4_IfcWindowStyleOperationEnum_type; }
@@ -8611,6 +9415,10 @@ Ifc4::IfcWindowStyleOperationEnum::Value Ifc4::IfcWindowStyleOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWindowStyleOperationEnum::operator Ifc4::IfcWindowStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWindowTypeEnum::declaration() const { return *IFC4_IfcWindowTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWindowTypeEnum::Class() { return *IFC4_IfcWindowTypeEnum_type; }
@@ -8645,6 +9453,10 @@ Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWindowTypeEnum::operator Ifc4::IfcWindowTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWindowTypePartitioningEnum::declaration() const { return *IFC4_IfcWindowTypePartitioningEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWindowTypePartitioningEnum::Class() { return *IFC4_IfcWindowTypePartitioningEnum_type; }
@@ -8685,6 +9497,10 @@ Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowTypePartitioningEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWindowTypePartitioningEnum::operator Ifc4::IfcWindowTypePartitioningEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWorkCalendarTypeEnum::declaration() const { return *IFC4_IfcWorkCalendarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWorkCalendarTypeEnum::Class() { return *IFC4_IfcWorkCalendarTypeEnum_type; }
@@ -8719,6 +9535,10 @@ Ifc4::IfcWorkCalendarTypeEnum::Value Ifc4::IfcWorkCalendarTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWorkCalendarTypeEnum::operator Ifc4::IfcWorkCalendarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWorkPlanTypeEnum::declaration() const { return *IFC4_IfcWorkPlanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWorkPlanTypeEnum::Class() { return *IFC4_IfcWorkPlanTypeEnum_type; }
@@ -8753,6 +9573,10 @@ Ifc4::IfcWorkPlanTypeEnum::Value Ifc4::IfcWorkPlanTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWorkPlanTypeEnum::operator Ifc4::IfcWorkPlanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4::IfcWorkScheduleTypeEnum::declaration() const { return *IFC4_IfcWorkScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4::IfcWorkScheduleTypeEnum::Class() { return *IFC4_IfcWorkScheduleTypeEnum_type; }
@@ -8787,6 +9611,10 @@ Ifc4::IfcWorkScheduleTypeEnum::Value Ifc4::IfcWorkScheduleTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4::IfcWorkScheduleTypeEnum::operator Ifc4::IfcWorkScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
// Function implementations for IfcAbsorbedDoseMeasure
const IfcParse::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::Class() { return *IFC4_IfcAbsorbedDoseMeasure_type; }
diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp
index 065732fa89..65a4248c4a 100644
--- a/src/ifcparse/Ifc4x1.cpp
+++ b/src/ifcparse/Ifc4x1.cpp
@@ -1216,6 +1216,10 @@ Ifc4x1::IfcActionRequestTypeEnum::Value Ifc4x1::IfcActionRequestTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcActionRequestTypeEnum::operator Ifc4x1::IfcActionRequestTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcActionSourceTypeEnum::declaration() const { return *IFC4X1_IfcActionSourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcActionSourceTypeEnum::Class() { return *IFC4X1_IfcActionSourceTypeEnum_type; }
@@ -1272,6 +1276,10 @@ Ifc4x1::IfcActionSourceTypeEnum::Value Ifc4x1::IfcActionSourceTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcActionSourceTypeEnum::operator Ifc4x1::IfcActionSourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcActionTypeEnum::declaration() const { return *IFC4X1_IfcActionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcActionTypeEnum::Class() { return *IFC4X1_IfcActionTypeEnum_type; }
@@ -1306,6 +1314,10 @@ Ifc4x1::IfcActionTypeEnum::Value Ifc4x1::IfcActionTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcActionTypeEnum::operator Ifc4x1::IfcActionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcActuatorTypeEnum::declaration() const { return *IFC4X1_IfcActuatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcActuatorTypeEnum::Class() { return *IFC4X1_IfcActuatorTypeEnum_type; }
@@ -1342,6 +1354,10 @@ Ifc4x1::IfcActuatorTypeEnum::Value Ifc4x1::IfcActuatorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcActuatorTypeEnum::operator Ifc4x1::IfcActuatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAddressTypeEnum::declaration() const { return *IFC4X1_IfcAddressTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAddressTypeEnum::Class() { return *IFC4X1_IfcAddressTypeEnum_type; }
@@ -1376,6 +1392,10 @@ Ifc4x1::IfcAddressTypeEnum::Value Ifc4x1::IfcAddressTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAddressTypeEnum::operator Ifc4x1::IfcAddressTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC4X1_IfcAirTerminalBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAirTerminalBoxTypeEnum::Class() { return *IFC4X1_IfcAirTerminalBoxTypeEnum_type; }
@@ -1410,6 +1430,10 @@ Ifc4x1::IfcAirTerminalBoxTypeEnum::Value Ifc4x1::IfcAirTerminalBoxTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAirTerminalBoxTypeEnum::operator Ifc4x1::IfcAirTerminalBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAirTerminalTypeEnum::declaration() const { return *IFC4X1_IfcAirTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAirTerminalTypeEnum::Class() { return *IFC4X1_IfcAirTerminalTypeEnum_type; }
@@ -1445,6 +1469,10 @@ Ifc4x1::IfcAirTerminalTypeEnum::Value Ifc4x1::IfcAirTerminalTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAirTerminalTypeEnum::operator Ifc4x1::IfcAirTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC4X1_IfcAirToAirHeatRecoveryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC4X1_IfcAirToAirHeatRecoveryTypeEnum_type; }
@@ -1485,6 +1513,10 @@ Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x1::IfcAirToAirHeatRecoveryTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAlarmTypeEnum::declaration() const { return *IFC4X1_IfcAlarmTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAlarmTypeEnum::Class() { return *IFC4X1_IfcAlarmTypeEnum_type; }
@@ -1522,6 +1554,10 @@ Ifc4x1::IfcAlarmTypeEnum::Value Ifc4x1::IfcAlarmTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAlarmTypeEnum::operator Ifc4x1::IfcAlarmTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAlignmentTypeEnum::declaration() const { return *IFC4X1_IfcAlignmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAlignmentTypeEnum::Class() { return *IFC4X1_IfcAlignmentTypeEnum_type; }
@@ -1553,6 +1589,10 @@ Ifc4x1::IfcAlignmentTypeEnum::Value Ifc4x1::IfcAlignmentTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAlignmentTypeEnum::operator Ifc4x1::IfcAlignmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAnalysisModelTypeEnum::declaration() const { return *IFC4X1_IfcAnalysisModelTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAnalysisModelTypeEnum::Class() { return *IFC4X1_IfcAnalysisModelTypeEnum_type; }
@@ -1587,6 +1627,10 @@ Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcAnalysisModelTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAnalysisModelTypeEnum::operator Ifc4x1::IfcAnalysisModelTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC4X1_IfcAnalysisTheoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAnalysisTheoryTypeEnum::Class() { return *IFC4X1_IfcAnalysisTheoryTypeEnum_type; }
@@ -1622,6 +1666,10 @@ Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcAnalysisTheoryTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAnalysisTheoryTypeEnum::operator Ifc4x1::IfcAnalysisTheoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcArithmeticOperatorEnum::declaration() const { return *IFC4X1_IfcArithmeticOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcArithmeticOperatorEnum::Class() { return *IFC4X1_IfcArithmeticOperatorEnum_type; }
@@ -1655,6 +1703,10 @@ Ifc4x1::IfcArithmeticOperatorEnum::Value Ifc4x1::IfcArithmeticOperatorEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcArithmeticOperatorEnum::operator Ifc4x1::IfcArithmeticOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAssemblyPlaceEnum::declaration() const { return *IFC4X1_IfcAssemblyPlaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAssemblyPlaceEnum::Class() { return *IFC4X1_IfcAssemblyPlaceEnum_type; }
@@ -1687,6 +1739,10 @@ Ifc4x1::IfcAssemblyPlaceEnum::Value Ifc4x1::IfcAssemblyPlaceEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAssemblyPlaceEnum::operator Ifc4x1::IfcAssemblyPlaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcAudioVisualApplianceTypeEnum::declaration() const { return *IFC4X1_IfcAudioVisualApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class() { return *IFC4X1_IfcAudioVisualApplianceTypeEnum_type; }
@@ -1729,6 +1785,10 @@ Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x1::IfcAudioVisualApplianceTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcAudioVisualApplianceTypeEnum::operator Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBSplineCurveForm::declaration() const { return *IFC4X1_IfcBSplineCurveForm_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBSplineCurveForm::Class() { return *IFC4X1_IfcBSplineCurveForm_type; }
@@ -1764,6 +1824,10 @@ Ifc4x1::IfcBSplineCurveForm::Value Ifc4x1::IfcBSplineCurveForm::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBSplineCurveForm::operator Ifc4x1::IfcBSplineCurveForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBSplineSurfaceForm::declaration() const { return *IFC4X1_IfcBSplineSurfaceForm_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBSplineSurfaceForm::Class() { return *IFC4X1_IfcBSplineSurfaceForm_type; }
@@ -1804,6 +1868,10 @@ Ifc4x1::IfcBSplineSurfaceForm::Value Ifc4x1::IfcBSplineSurfaceForm::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBSplineSurfaceForm::operator Ifc4x1::IfcBSplineSurfaceForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBeamTypeEnum::declaration() const { return *IFC4X1_IfcBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBeamTypeEnum::Class() { return *IFC4X1_IfcBeamTypeEnum_type; }
@@ -1841,6 +1909,10 @@ Ifc4x1::IfcBeamTypeEnum::Value Ifc4x1::IfcBeamTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBeamTypeEnum::operator Ifc4x1::IfcBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBenchmarkEnum::declaration() const { return *IFC4X1_IfcBenchmarkEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBenchmarkEnum::Class() { return *IFC4X1_IfcBenchmarkEnum_type; }
@@ -1880,6 +1952,10 @@ Ifc4x1::IfcBenchmarkEnum::Value Ifc4x1::IfcBenchmarkEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBenchmarkEnum::operator Ifc4x1::IfcBenchmarkEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBoilerTypeEnum::declaration() const { return *IFC4X1_IfcBoilerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBoilerTypeEnum::Class() { return *IFC4X1_IfcBoilerTypeEnum_type; }
@@ -1913,6 +1989,10 @@ Ifc4x1::IfcBoilerTypeEnum::Value Ifc4x1::IfcBoilerTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBoilerTypeEnum::operator Ifc4x1::IfcBoilerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBooleanOperator::declaration() const { return *IFC4X1_IfcBooleanOperator_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBooleanOperator::Class() { return *IFC4X1_IfcBooleanOperator_type; }
@@ -1945,6 +2025,10 @@ Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanOperator::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBooleanOperator::operator Ifc4x1::IfcBooleanOperator::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBuildingElementPartTypeEnum::declaration() const { return *IFC4X1_IfcBuildingElementPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBuildingElementPartTypeEnum::Class() { return *IFC4X1_IfcBuildingElementPartTypeEnum_type; }
@@ -1978,6 +2062,10 @@ Ifc4x1::IfcBuildingElementPartTypeEnum::Value Ifc4x1::IfcBuildingElementPartType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBuildingElementPartTypeEnum::operator Ifc4x1::IfcBuildingElementPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC4X1_IfcBuildingElementProxyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBuildingElementProxyTypeEnum::Class() { return *IFC4X1_IfcBuildingElementProxyTypeEnum_type; }
@@ -2014,6 +2102,10 @@ Ifc4x1::IfcBuildingElementProxyTypeEnum::Value Ifc4x1::IfcBuildingElementProxyTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBuildingElementProxyTypeEnum::operator Ifc4x1::IfcBuildingElementProxyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBuildingSystemTypeEnum::declaration() const { return *IFC4X1_IfcBuildingSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBuildingSystemTypeEnum::Class() { return *IFC4X1_IfcBuildingSystemTypeEnum_type; }
@@ -2051,6 +2143,10 @@ Ifc4x1::IfcBuildingSystemTypeEnum::Value Ifc4x1::IfcBuildingSystemTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBuildingSystemTypeEnum::operator Ifc4x1::IfcBuildingSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcBurnerTypeEnum::declaration() const { return *IFC4X1_IfcBurnerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcBurnerTypeEnum::Class() { return *IFC4X1_IfcBurnerTypeEnum_type; }
@@ -2082,6 +2178,10 @@ Ifc4x1::IfcBurnerTypeEnum::Value Ifc4x1::IfcBurnerTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcBurnerTypeEnum::operator Ifc4x1::IfcBurnerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC4X1_IfcCableCarrierFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCableCarrierFittingTypeEnum::Class() { return *IFC4X1_IfcCableCarrierFittingTypeEnum_type; }
@@ -2117,6 +2217,10 @@ Ifc4x1::IfcCableCarrierFittingTypeEnum::Value Ifc4x1::IfcCableCarrierFittingType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCableCarrierFittingTypeEnum::operator Ifc4x1::IfcCableCarrierFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC4X1_IfcCableCarrierSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC4X1_IfcCableCarrierSegmentTypeEnum_type; }
@@ -2152,6 +2256,10 @@ Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x1::IfcCableCarrierSegmentType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCableCarrierSegmentTypeEnum::operator Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCableFittingTypeEnum::declaration() const { return *IFC4X1_IfcCableFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCableFittingTypeEnum::Class() { return *IFC4X1_IfcCableFittingTypeEnum_type; }
@@ -2188,6 +2296,10 @@ Ifc4x1::IfcCableFittingTypeEnum::Value Ifc4x1::IfcCableFittingTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCableFittingTypeEnum::operator Ifc4x1::IfcCableFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCableSegmentTypeEnum::declaration() const { return *IFC4X1_IfcCableSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCableSegmentTypeEnum::Class() { return *IFC4X1_IfcCableSegmentTypeEnum_type; }
@@ -2223,6 +2335,10 @@ Ifc4x1::IfcCableSegmentTypeEnum::Value Ifc4x1::IfcCableSegmentTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCableSegmentTypeEnum::operator Ifc4x1::IfcCableSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcChangeActionEnum::declaration() const { return *IFC4X1_IfcChangeActionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcChangeActionEnum::Class() { return *IFC4X1_IfcChangeActionEnum_type; }
@@ -2257,6 +2373,10 @@ Ifc4x1::IfcChangeActionEnum::Value Ifc4x1::IfcChangeActionEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcChangeActionEnum::operator Ifc4x1::IfcChangeActionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcChillerTypeEnum::declaration() const { return *IFC4X1_IfcChillerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcChillerTypeEnum::Class() { return *IFC4X1_IfcChillerTypeEnum_type; }
@@ -2291,6 +2411,10 @@ Ifc4x1::IfcChillerTypeEnum::Value Ifc4x1::IfcChillerTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcChillerTypeEnum::operator Ifc4x1::IfcChillerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcChimneyTypeEnum::declaration() const { return *IFC4X1_IfcChimneyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcChimneyTypeEnum::Class() { return *IFC4X1_IfcChimneyTypeEnum_type; }
@@ -2322,6 +2446,10 @@ Ifc4x1::IfcChimneyTypeEnum::Value Ifc4x1::IfcChimneyTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcChimneyTypeEnum::operator Ifc4x1::IfcChimneyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCoilTypeEnum::declaration() const { return *IFC4X1_IfcCoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCoilTypeEnum::Class() { return *IFC4X1_IfcCoilTypeEnum_type; }
@@ -2360,6 +2488,10 @@ Ifc4x1::IfcCoilTypeEnum::Value Ifc4x1::IfcCoilTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCoilTypeEnum::operator Ifc4x1::IfcCoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcColumnTypeEnum::declaration() const { return *IFC4X1_IfcColumnTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcColumnTypeEnum::Class() { return *IFC4X1_IfcColumnTypeEnum_type; }
@@ -2393,6 +2525,10 @@ Ifc4x1::IfcColumnTypeEnum::Value Ifc4x1::IfcColumnTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcColumnTypeEnum::operator Ifc4x1::IfcColumnTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCommunicationsApplianceTypeEnum::declaration() const { return *IFC4X1_IfcCommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class() { return *IFC4X1_IfcCommunicationsApplianceTypeEnum_type; }
@@ -2436,6 +2572,10 @@ Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x1::IfcCommunicationsAppli
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCommunicationsApplianceTypeEnum::operator Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *IFC4X1_IfcComplexPropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class() { return *IFC4X1_IfcComplexPropertyTemplateTypeEnum_type; }
@@ -2467,6 +2607,10 @@ Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x1::IfcComplexPropertyTemp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCompressorTypeEnum::declaration() const { return *IFC4X1_IfcCompressorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCompressorTypeEnum::Class() { return *IFC4X1_IfcCompressorTypeEnum_type; }
@@ -2513,6 +2657,10 @@ Ifc4x1::IfcCompressorTypeEnum::Value Ifc4x1::IfcCompressorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCompressorTypeEnum::operator Ifc4x1::IfcCompressorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCondenserTypeEnum::declaration() const { return *IFC4X1_IfcCondenserTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCondenserTypeEnum::Class() { return *IFC4X1_IfcCondenserTypeEnum_type; }
@@ -2551,6 +2699,10 @@ Ifc4x1::IfcCondenserTypeEnum::Value Ifc4x1::IfcCondenserTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCondenserTypeEnum::operator Ifc4x1::IfcCondenserTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcConnectionTypeEnum::declaration() const { return *IFC4X1_IfcConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcConnectionTypeEnum::Class() { return *IFC4X1_IfcConnectionTypeEnum_type; }
@@ -2584,6 +2736,10 @@ Ifc4x1::IfcConnectionTypeEnum::Value Ifc4x1::IfcConnectionTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcConnectionTypeEnum::operator Ifc4x1::IfcConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcConstraintEnum::declaration() const { return *IFC4X1_IfcConstraintEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcConstraintEnum::Class() { return *IFC4X1_IfcConstraintEnum_type; }
@@ -2618,6 +2774,10 @@ Ifc4x1::IfcConstraintEnum::Value Ifc4x1::IfcConstraintEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcConstraintEnum::operator Ifc4x1::IfcConstraintEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *IFC4X1_IfcConstructionEquipmentResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class() { return *IFC4X1_IfcConstructionEquipmentResourceTypeEnum_type; }
@@ -2657,6 +2817,10 @@ Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x1::IfcConstructionE
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *IFC4X1_IfcConstructionMaterialResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class() { return *IFC4X1_IfcConstructionMaterialResourceTypeEnum_type; }
@@ -2697,6 +2861,10 @@ Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x1::IfcConstructionMa
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcConstructionProductResourceTypeEnum::declaration() const { return *IFC4X1_IfcConstructionProductResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcConstructionProductResourceTypeEnum::Class() { return *IFC4X1_IfcConstructionProductResourceTypeEnum_type; }
@@ -2730,6 +2898,10 @@ Ifc4x1::IfcConstructionProductResourceTypeEnum::Value Ifc4x1::IfcConstructionPro
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcConstructionProductResourceTypeEnum::operator Ifc4x1::IfcConstructionProductResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcControllerTypeEnum::declaration() const { return *IFC4X1_IfcControllerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcControllerTypeEnum::Class() { return *IFC4X1_IfcControllerTypeEnum_type; }
@@ -2766,6 +2938,10 @@ Ifc4x1::IfcControllerTypeEnum::Value Ifc4x1::IfcControllerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcControllerTypeEnum::operator Ifc4x1::IfcControllerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCooledBeamTypeEnum::declaration() const { return *IFC4X1_IfcCooledBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCooledBeamTypeEnum::Class() { return *IFC4X1_IfcCooledBeamTypeEnum_type; }
@@ -2799,6 +2975,10 @@ Ifc4x1::IfcCooledBeamTypeEnum::Value Ifc4x1::IfcCooledBeamTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCooledBeamTypeEnum::operator Ifc4x1::IfcCooledBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCoolingTowerTypeEnum::declaration() const { return *IFC4X1_IfcCoolingTowerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCoolingTowerTypeEnum::Class() { return *IFC4X1_IfcCoolingTowerTypeEnum_type; }
@@ -2833,6 +3013,10 @@ Ifc4x1::IfcCoolingTowerTypeEnum::Value Ifc4x1::IfcCoolingTowerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCoolingTowerTypeEnum::operator Ifc4x1::IfcCoolingTowerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCostItemTypeEnum::declaration() const { return *IFC4X1_IfcCostItemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCostItemTypeEnum::Class() { return *IFC4X1_IfcCostItemTypeEnum_type; }
@@ -2864,6 +3048,10 @@ Ifc4x1::IfcCostItemTypeEnum::Value Ifc4x1::IfcCostItemTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCostItemTypeEnum::operator Ifc4x1::IfcCostItemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCostScheduleTypeEnum::declaration() const { return *IFC4X1_IfcCostScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCostScheduleTypeEnum::Class() { return *IFC4X1_IfcCostScheduleTypeEnum_type; }
@@ -2902,6 +3090,10 @@ Ifc4x1::IfcCostScheduleTypeEnum::Value Ifc4x1::IfcCostScheduleTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCostScheduleTypeEnum::operator Ifc4x1::IfcCostScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCoveringTypeEnum::declaration() const { return *IFC4X1_IfcCoveringTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCoveringTypeEnum::Class() { return *IFC4X1_IfcCoveringTypeEnum_type; }
@@ -2943,6 +3135,10 @@ Ifc4x1::IfcCoveringTypeEnum::Value Ifc4x1::IfcCoveringTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCoveringTypeEnum::operator Ifc4x1::IfcCoveringTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCrewResourceTypeEnum::declaration() const { return *IFC4X1_IfcCrewResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCrewResourceTypeEnum::Class() { return *IFC4X1_IfcCrewResourceTypeEnum_type; }
@@ -2976,6 +3172,10 @@ Ifc4x1::IfcCrewResourceTypeEnum::Value Ifc4x1::IfcCrewResourceTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCrewResourceTypeEnum::operator Ifc4x1::IfcCrewResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCurtainWallTypeEnum::declaration() const { return *IFC4X1_IfcCurtainWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCurtainWallTypeEnum::Class() { return *IFC4X1_IfcCurtainWallTypeEnum_type; }
@@ -3007,6 +3207,10 @@ Ifc4x1::IfcCurtainWallTypeEnum::Value Ifc4x1::IfcCurtainWallTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCurtainWallTypeEnum::operator Ifc4x1::IfcCurtainWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcCurveInterpolationEnum::declaration() const { return *IFC4X1_IfcCurveInterpolationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcCurveInterpolationEnum::Class() { return *IFC4X1_IfcCurveInterpolationEnum_type; }
@@ -3040,6 +3244,10 @@ Ifc4x1::IfcCurveInterpolationEnum::Value Ifc4x1::IfcCurveInterpolationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcCurveInterpolationEnum::operator Ifc4x1::IfcCurveInterpolationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDamperTypeEnum::declaration() const { return *IFC4X1_IfcDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDamperTypeEnum::Class() { return *IFC4X1_IfcDamperTypeEnum_type; }
@@ -3082,6 +3290,10 @@ Ifc4x1::IfcDamperTypeEnum::Value Ifc4x1::IfcDamperTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDamperTypeEnum::operator Ifc4x1::IfcDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDataOriginEnum::declaration() const { return *IFC4X1_IfcDataOriginEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDataOriginEnum::Class() { return *IFC4X1_IfcDataOriginEnum_type; }
@@ -3116,6 +3328,10 @@ Ifc4x1::IfcDataOriginEnum::Value Ifc4x1::IfcDataOriginEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDataOriginEnum::operator Ifc4x1::IfcDataOriginEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDerivedUnitEnum::declaration() const { return *IFC4X1_IfcDerivedUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDerivedUnitEnum::Class() { return *IFC4X1_IfcDerivedUnitEnum_type; }
@@ -3198,6 +3414,10 @@ Ifc4x1::IfcDerivedUnitEnum::Value Ifc4x1::IfcDerivedUnitEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDerivedUnitEnum::operator Ifc4x1::IfcDerivedUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDirectionSenseEnum::declaration() const { return *IFC4X1_IfcDirectionSenseEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDirectionSenseEnum::Class() { return *IFC4X1_IfcDirectionSenseEnum_type; }
@@ -3229,6 +3449,10 @@ Ifc4x1::IfcDirectionSenseEnum::Value Ifc4x1::IfcDirectionSenseEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDirectionSenseEnum::operator Ifc4x1::IfcDirectionSenseEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDiscreteAccessoryTypeEnum::declaration() const { return *IFC4X1_IfcDiscreteAccessoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class() { return *IFC4X1_IfcDiscreteAccessoryTypeEnum_type; }
@@ -3263,6 +3487,10 @@ Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x1::IfcDiscreteAccessoryTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDiscreteAccessoryTypeEnum::operator Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC4X1_IfcDistributionChamberElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDistributionChamberElementTypeEnum::Class() { return *IFC4X1_IfcDistributionChamberElementTypeEnum_type; }
@@ -3302,6 +3530,10 @@ Ifc4x1::IfcDistributionChamberElementTypeEnum::Value Ifc4x1::IfcDistributionCham
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDistributionChamberElementTypeEnum::operator Ifc4x1::IfcDistributionChamberElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDistributionPortTypeEnum::declaration() const { return *IFC4X1_IfcDistributionPortTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDistributionPortTypeEnum::Class() { return *IFC4X1_IfcDistributionPortTypeEnum_type; }
@@ -3337,6 +3569,10 @@ Ifc4x1::IfcDistributionPortTypeEnum::Value Ifc4x1::IfcDistributionPortTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDistributionPortTypeEnum::operator Ifc4x1::IfcDistributionPortTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDistributionSystemEnum::declaration() const { return *IFC4X1_IfcDistributionSystemEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDistributionSystemEnum::Class() { return *IFC4X1_IfcDistributionSystemEnum_type; }
@@ -3410,6 +3646,10 @@ Ifc4x1::IfcDistributionSystemEnum::Value Ifc4x1::IfcDistributionSystemEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDistributionSystemEnum::operator Ifc4x1::IfcDistributionSystemEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDocumentConfidentialityEnum::declaration() const { return *IFC4X1_IfcDocumentConfidentialityEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDocumentConfidentialityEnum::Class() { return *IFC4X1_IfcDocumentConfidentialityEnum_type; }
@@ -3445,6 +3685,10 @@ Ifc4x1::IfcDocumentConfidentialityEnum::Value Ifc4x1::IfcDocumentConfidentiality
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDocumentConfidentialityEnum::operator Ifc4x1::IfcDocumentConfidentialityEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDocumentStatusEnum::declaration() const { return *IFC4X1_IfcDocumentStatusEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDocumentStatusEnum::Class() { return *IFC4X1_IfcDocumentStatusEnum_type; }
@@ -3479,6 +3723,10 @@ Ifc4x1::IfcDocumentStatusEnum::Value Ifc4x1::IfcDocumentStatusEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDocumentStatusEnum::operator Ifc4x1::IfcDocumentStatusEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDoorPanelOperationEnum::declaration() const { return *IFC4X1_IfcDoorPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDoorPanelOperationEnum::Class() { return *IFC4X1_IfcDoorPanelOperationEnum_type; }
@@ -3517,6 +3765,10 @@ Ifc4x1::IfcDoorPanelOperationEnum::Value Ifc4x1::IfcDoorPanelOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDoorPanelOperationEnum::operator Ifc4x1::IfcDoorPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDoorPanelPositionEnum::declaration() const { return *IFC4X1_IfcDoorPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDoorPanelPositionEnum::Class() { return *IFC4X1_IfcDoorPanelPositionEnum_type; }
@@ -3550,6 +3802,10 @@ Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelPositionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDoorPanelPositionEnum::operator Ifc4x1::IfcDoorPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDoorStyleConstructionEnum::declaration() const { return *IFC4X1_IfcDoorStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDoorStyleConstructionEnum::Class() { return *IFC4X1_IfcDoorStyleConstructionEnum_type; }
@@ -3588,6 +3844,10 @@ Ifc4x1::IfcDoorStyleConstructionEnum::Value Ifc4x1::IfcDoorStyleConstructionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDoorStyleConstructionEnum::operator Ifc4x1::IfcDoorStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDoorStyleOperationEnum::declaration() const { return *IFC4X1_IfcDoorStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDoorStyleOperationEnum::Class() { return *IFC4X1_IfcDoorStyleOperationEnum_type; }
@@ -3635,6 +3895,10 @@ Ifc4x1::IfcDoorStyleOperationEnum::Value Ifc4x1::IfcDoorStyleOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDoorStyleOperationEnum::operator Ifc4x1::IfcDoorStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDoorTypeEnum::declaration() const { return *IFC4X1_IfcDoorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDoorTypeEnum::Class() { return *IFC4X1_IfcDoorTypeEnum_type; }
@@ -3669,6 +3933,10 @@ Ifc4x1::IfcDoorTypeEnum::Value Ifc4x1::IfcDoorTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDoorTypeEnum::operator Ifc4x1::IfcDoorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDoorTypeOperationEnum::declaration() const { return *IFC4X1_IfcDoorTypeOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDoorTypeOperationEnum::Class() { return *IFC4X1_IfcDoorTypeOperationEnum_type; }
@@ -3718,6 +3986,10 @@ Ifc4x1::IfcDoorTypeOperationEnum::Value Ifc4x1::IfcDoorTypeOperationEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDoorTypeOperationEnum::operator Ifc4x1::IfcDoorTypeOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDuctFittingTypeEnum::declaration() const { return *IFC4X1_IfcDuctFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDuctFittingTypeEnum::Class() { return *IFC4X1_IfcDuctFittingTypeEnum_type; }
@@ -3756,6 +4028,10 @@ Ifc4x1::IfcDuctFittingTypeEnum::Value Ifc4x1::IfcDuctFittingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDuctFittingTypeEnum::operator Ifc4x1::IfcDuctFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDuctSegmentTypeEnum::declaration() const { return *IFC4X1_IfcDuctSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDuctSegmentTypeEnum::Class() { return *IFC4X1_IfcDuctSegmentTypeEnum_type; }
@@ -3789,6 +4065,10 @@ Ifc4x1::IfcDuctSegmentTypeEnum::Value Ifc4x1::IfcDuctSegmentTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDuctSegmentTypeEnum::operator Ifc4x1::IfcDuctSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcDuctSilencerTypeEnum::declaration() const { return *IFC4X1_IfcDuctSilencerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcDuctSilencerTypeEnum::Class() { return *IFC4X1_IfcDuctSilencerTypeEnum_type; }
@@ -3823,6 +4103,10 @@ Ifc4x1::IfcDuctSilencerTypeEnum::Value Ifc4x1::IfcDuctSilencerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcDuctSilencerTypeEnum::operator Ifc4x1::IfcDuctSilencerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElectricApplianceTypeEnum::declaration() const { return *IFC4X1_IfcElectricApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElectricApplianceTypeEnum::Class() { return *IFC4X1_IfcElectricApplianceTypeEnum_type; }
@@ -3870,6 +4154,10 @@ Ifc4x1::IfcElectricApplianceTypeEnum::Value Ifc4x1::IfcElectricApplianceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElectricApplianceTypeEnum::operator Ifc4x1::IfcElectricApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElectricDistributionBoardTypeEnum::declaration() const { return *IFC4X1_IfcElectricDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class() { return *IFC4X1_IfcElectricDistributionBoardTypeEnum_type; }
@@ -3905,6 +4193,10 @@ Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x1::IfcElectricDistribut
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElectricDistributionBoardTypeEnum::operator Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC4X1_IfcElectricFlowStorageDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC4X1_IfcElectricFlowStorageDeviceTypeEnum_type; }
@@ -3941,6 +4233,10 @@ Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x1::IfcElectricFlowStora
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC4X1_IfcElectricGeneratorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElectricGeneratorTypeEnum::Class() { return *IFC4X1_IfcElectricGeneratorTypeEnum_type; }
@@ -3975,6 +4271,10 @@ Ifc4x1::IfcElectricGeneratorTypeEnum::Value Ifc4x1::IfcElectricGeneratorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElectricGeneratorTypeEnum::operator Ifc4x1::IfcElectricGeneratorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElectricMotorTypeEnum::declaration() const { return *IFC4X1_IfcElectricMotorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElectricMotorTypeEnum::Class() { return *IFC4X1_IfcElectricMotorTypeEnum_type; }
@@ -4011,6 +4311,10 @@ Ifc4x1::IfcElectricMotorTypeEnum::Value Ifc4x1::IfcElectricMotorTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElectricMotorTypeEnum::operator Ifc4x1::IfcElectricMotorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC4X1_IfcElectricTimeControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElectricTimeControlTypeEnum::Class() { return *IFC4X1_IfcElectricTimeControlTypeEnum_type; }
@@ -4045,6 +4349,10 @@ Ifc4x1::IfcElectricTimeControlTypeEnum::Value Ifc4x1::IfcElectricTimeControlType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElectricTimeControlTypeEnum::operator Ifc4x1::IfcElectricTimeControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElementAssemblyTypeEnum::declaration() const { return *IFC4X1_IfcElementAssemblyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElementAssemblyTypeEnum::Class() { return *IFC4X1_IfcElementAssemblyTypeEnum_type; }
@@ -4085,6 +4393,10 @@ Ifc4x1::IfcElementAssemblyTypeEnum::Value Ifc4x1::IfcElementAssemblyTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElementAssemblyTypeEnum::operator Ifc4x1::IfcElementAssemblyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcElementCompositionEnum::declaration() const { return *IFC4X1_IfcElementCompositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcElementCompositionEnum::Class() { return *IFC4X1_IfcElementCompositionEnum_type; }
@@ -4117,6 +4429,10 @@ Ifc4x1::IfcElementCompositionEnum::Value Ifc4x1::IfcElementCompositionEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcElementCompositionEnum::operator Ifc4x1::IfcElementCompositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcEngineTypeEnum::declaration() const { return *IFC4X1_IfcEngineTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcEngineTypeEnum::Class() { return *IFC4X1_IfcEngineTypeEnum_type; }
@@ -4150,6 +4466,10 @@ Ifc4x1::IfcEngineTypeEnum::Value Ifc4x1::IfcEngineTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcEngineTypeEnum::operator Ifc4x1::IfcEngineTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC4X1_IfcEvaporativeCoolerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC4X1_IfcEvaporativeCoolerTypeEnum_type; }
@@ -4190,6 +4510,10 @@ Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x1::IfcEvaporativeCoolerTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcEvaporativeCoolerTypeEnum::operator Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcEvaporatorTypeEnum::declaration() const { return *IFC4X1_IfcEvaporatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcEvaporatorTypeEnum::Class() { return *IFC4X1_IfcEvaporatorTypeEnum_type; }
@@ -4227,6 +4551,10 @@ Ifc4x1::IfcEvaporatorTypeEnum::Value Ifc4x1::IfcEvaporatorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcEvaporatorTypeEnum::operator Ifc4x1::IfcEvaporatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcEventTriggerTypeEnum::declaration() const { return *IFC4X1_IfcEventTriggerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcEventTriggerTypeEnum::Class() { return *IFC4X1_IfcEventTriggerTypeEnum_type; }
@@ -4262,6 +4590,10 @@ Ifc4x1::IfcEventTriggerTypeEnum::Value Ifc4x1::IfcEventTriggerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcEventTriggerTypeEnum::operator Ifc4x1::IfcEventTriggerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcEventTypeEnum::declaration() const { return *IFC4X1_IfcEventTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcEventTypeEnum::Class() { return *IFC4X1_IfcEventTypeEnum_type; }
@@ -4296,6 +4628,10 @@ Ifc4x1::IfcEventTypeEnum::Value Ifc4x1::IfcEventTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcEventTypeEnum::operator Ifc4x1::IfcEventTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcExternalSpatialElementTypeEnum::declaration() const { return *IFC4X1_IfcExternalSpatialElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcExternalSpatialElementTypeEnum::Class() { return *IFC4X1_IfcExternalSpatialElementTypeEnum_type; }
@@ -4331,6 +4667,10 @@ Ifc4x1::IfcExternalSpatialElementTypeEnum::Value Ifc4x1::IfcExternalSpatialEleme
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcExternalSpatialElementTypeEnum::operator Ifc4x1::IfcExternalSpatialElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFanTypeEnum::declaration() const { return *IFC4X1_IfcFanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFanTypeEnum::Class() { return *IFC4X1_IfcFanTypeEnum_type; }
@@ -4369,6 +4709,10 @@ Ifc4x1::IfcFanTypeEnum::Value Ifc4x1::IfcFanTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFanTypeEnum::operator Ifc4x1::IfcFanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFastenerTypeEnum::declaration() const { return *IFC4X1_IfcFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFastenerTypeEnum::Class() { return *IFC4X1_IfcFastenerTypeEnum_type; }
@@ -4403,6 +4747,10 @@ Ifc4x1::IfcFastenerTypeEnum::Value Ifc4x1::IfcFastenerTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFastenerTypeEnum::operator Ifc4x1::IfcFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFilterTypeEnum::declaration() const { return *IFC4X1_IfcFilterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFilterTypeEnum::Class() { return *IFC4X1_IfcFilterTypeEnum_type; }
@@ -4440,6 +4788,10 @@ Ifc4x1::IfcFilterTypeEnum::Value Ifc4x1::IfcFilterTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFilterTypeEnum::operator Ifc4x1::IfcFilterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC4X1_IfcFireSuppressionTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC4X1_IfcFireSuppressionTerminalTypeEnum_type; }
@@ -4476,6 +4828,10 @@ Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x1::IfcFireSuppressionTerm
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFlowDirectionEnum::declaration() const { return *IFC4X1_IfcFlowDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFlowDirectionEnum::Class() { return *IFC4X1_IfcFlowDirectionEnum_type; }
@@ -4509,6 +4865,10 @@ Ifc4x1::IfcFlowDirectionEnum::Value Ifc4x1::IfcFlowDirectionEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFlowDirectionEnum::operator Ifc4x1::IfcFlowDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC4X1_IfcFlowInstrumentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFlowInstrumentTypeEnum::Class() { return *IFC4X1_IfcFlowInstrumentTypeEnum_type; }
@@ -4548,6 +4908,10 @@ Ifc4x1::IfcFlowInstrumentTypeEnum::Value Ifc4x1::IfcFlowInstrumentTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFlowInstrumentTypeEnum::operator Ifc4x1::IfcFlowInstrumentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFlowMeterTypeEnum::declaration() const { return *IFC4X1_IfcFlowMeterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFlowMeterTypeEnum::Class() { return *IFC4X1_IfcFlowMeterTypeEnum_type; }
@@ -4583,6 +4947,10 @@ Ifc4x1::IfcFlowMeterTypeEnum::Value Ifc4x1::IfcFlowMeterTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFlowMeterTypeEnum::operator Ifc4x1::IfcFlowMeterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFootingTypeEnum::declaration() const { return *IFC4X1_IfcFootingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFootingTypeEnum::Class() { return *IFC4X1_IfcFootingTypeEnum_type; }
@@ -4619,6 +4987,10 @@ Ifc4x1::IfcFootingTypeEnum::Value Ifc4x1::IfcFootingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFootingTypeEnum::operator Ifc4x1::IfcFootingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcFurnitureTypeEnum::declaration() const { return *IFC4X1_IfcFurnitureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcFurnitureTypeEnum::Class() { return *IFC4X1_IfcFurnitureTypeEnum_type; }
@@ -4657,6 +5029,10 @@ Ifc4x1::IfcFurnitureTypeEnum::Value Ifc4x1::IfcFurnitureTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcFurnitureTypeEnum::operator Ifc4x1::IfcFurnitureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcGeographicElementTypeEnum::declaration() const { return *IFC4X1_IfcGeographicElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcGeographicElementTypeEnum::Class() { return *IFC4X1_IfcGeographicElementTypeEnum_type; }
@@ -4689,6 +5065,10 @@ Ifc4x1::IfcGeographicElementTypeEnum::Value Ifc4x1::IfcGeographicElementTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcGeographicElementTypeEnum::operator Ifc4x1::IfcGeographicElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcGeometricProjectionEnum::declaration() const { return *IFC4X1_IfcGeometricProjectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcGeometricProjectionEnum::Class() { return *IFC4X1_IfcGeometricProjectionEnum_type; }
@@ -4727,6 +5107,10 @@ Ifc4x1::IfcGeometricProjectionEnum::Value Ifc4x1::IfcGeometricProjectionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcGeometricProjectionEnum::operator Ifc4x1::IfcGeometricProjectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcGlobalOrLocalEnum::declaration() const { return *IFC4X1_IfcGlobalOrLocalEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcGlobalOrLocalEnum::Class() { return *IFC4X1_IfcGlobalOrLocalEnum_type; }
@@ -4758,6 +5142,10 @@ Ifc4x1::IfcGlobalOrLocalEnum::Value Ifc4x1::IfcGlobalOrLocalEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcGlobalOrLocalEnum::operator Ifc4x1::IfcGlobalOrLocalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcGridTypeEnum::declaration() const { return *IFC4X1_IfcGridTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcGridTypeEnum::Class() { return *IFC4X1_IfcGridTypeEnum_type; }
@@ -4793,6 +5181,10 @@ Ifc4x1::IfcGridTypeEnum::Value Ifc4x1::IfcGridTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcGridTypeEnum::operator Ifc4x1::IfcGridTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcHeatExchangerTypeEnum::declaration() const { return *IFC4X1_IfcHeatExchangerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcHeatExchangerTypeEnum::Class() { return *IFC4X1_IfcHeatExchangerTypeEnum_type; }
@@ -4826,6 +5218,10 @@ Ifc4x1::IfcHeatExchangerTypeEnum::Value Ifc4x1::IfcHeatExchangerTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcHeatExchangerTypeEnum::operator Ifc4x1::IfcHeatExchangerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcHumidifierTypeEnum::declaration() const { return *IFC4X1_IfcHumidifierTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcHumidifierTypeEnum::Class() { return *IFC4X1_IfcHumidifierTypeEnum_type; }
@@ -4870,6 +5266,10 @@ Ifc4x1::IfcHumidifierTypeEnum::Value Ifc4x1::IfcHumidifierTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcHumidifierTypeEnum::operator Ifc4x1::IfcHumidifierTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcInterceptorTypeEnum::declaration() const { return *IFC4X1_IfcInterceptorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcInterceptorTypeEnum::Class() { return *IFC4X1_IfcInterceptorTypeEnum_type; }
@@ -4905,6 +5305,10 @@ Ifc4x1::IfcInterceptorTypeEnum::Value Ifc4x1::IfcInterceptorTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcInterceptorTypeEnum::operator Ifc4x1::IfcInterceptorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcInternalOrExternalEnum::declaration() const { return *IFC4X1_IfcInternalOrExternalEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcInternalOrExternalEnum::Class() { return *IFC4X1_IfcInternalOrExternalEnum_type; }
@@ -4940,6 +5344,10 @@ Ifc4x1::IfcInternalOrExternalEnum::Value Ifc4x1::IfcInternalOrExternalEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcInternalOrExternalEnum::operator Ifc4x1::IfcInternalOrExternalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcInventoryTypeEnum::declaration() const { return *IFC4X1_IfcInventoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcInventoryTypeEnum::Class() { return *IFC4X1_IfcInventoryTypeEnum_type; }
@@ -4974,6 +5382,10 @@ Ifc4x1::IfcInventoryTypeEnum::Value Ifc4x1::IfcInventoryTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcInventoryTypeEnum::operator Ifc4x1::IfcInventoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcJunctionBoxTypeEnum::declaration() const { return *IFC4X1_IfcJunctionBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcJunctionBoxTypeEnum::Class() { return *IFC4X1_IfcJunctionBoxTypeEnum_type; }
@@ -5007,6 +5419,10 @@ Ifc4x1::IfcJunctionBoxTypeEnum::Value Ifc4x1::IfcJunctionBoxTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcJunctionBoxTypeEnum::operator Ifc4x1::IfcJunctionBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcKnotType::declaration() const { return *IFC4X1_IfcKnotType_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcKnotType::Class() { return *IFC4X1_IfcKnotType_type; }
@@ -5040,6 +5456,10 @@ Ifc4x1::IfcKnotType::Value Ifc4x1::IfcKnotType::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcKnotType::operator Ifc4x1::IfcKnotType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLaborResourceTypeEnum::declaration() const { return *IFC4X1_IfcLaborResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLaborResourceTypeEnum::Class() { return *IFC4X1_IfcLaborResourceTypeEnum_type; }
@@ -5090,6 +5510,10 @@ Ifc4x1::IfcLaborResourceTypeEnum::Value Ifc4x1::IfcLaborResourceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLaborResourceTypeEnum::operator Ifc4x1::IfcLaborResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLampTypeEnum::declaration() const { return *IFC4X1_IfcLampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLampTypeEnum::Class() { return *IFC4X1_IfcLampTypeEnum_type; }
@@ -5130,6 +5554,10 @@ Ifc4x1::IfcLampTypeEnum::Value Ifc4x1::IfcLampTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLampTypeEnum::operator Ifc4x1::IfcLampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLayerSetDirectionEnum::declaration() const { return *IFC4X1_IfcLayerSetDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLayerSetDirectionEnum::Class() { return *IFC4X1_IfcLayerSetDirectionEnum_type; }
@@ -5162,6 +5590,10 @@ Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcLayerSetDirectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLayerSetDirectionEnum::operator Ifc4x1::IfcLayerSetDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLightDistributionCurveEnum::declaration() const { return *IFC4X1_IfcLightDistributionCurveEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLightDistributionCurveEnum::Class() { return *IFC4X1_IfcLightDistributionCurveEnum_type; }
@@ -5195,6 +5627,10 @@ Ifc4x1::IfcLightDistributionCurveEnum::Value Ifc4x1::IfcLightDistributionCurveEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLightDistributionCurveEnum::operator Ifc4x1::IfcLightDistributionCurveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLightEmissionSourceEnum::declaration() const { return *IFC4X1_IfcLightEmissionSourceEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLightEmissionSourceEnum::Class() { return *IFC4X1_IfcLightEmissionSourceEnum_type; }
@@ -5235,6 +5671,10 @@ Ifc4x1::IfcLightEmissionSourceEnum::Value Ifc4x1::IfcLightEmissionSourceEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLightEmissionSourceEnum::operator Ifc4x1::IfcLightEmissionSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLightFixtureTypeEnum::declaration() const { return *IFC4X1_IfcLightFixtureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLightFixtureTypeEnum::Class() { return *IFC4X1_IfcLightFixtureTypeEnum_type; }
@@ -5269,6 +5709,10 @@ Ifc4x1::IfcLightFixtureTypeEnum::Value Ifc4x1::IfcLightFixtureTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLightFixtureTypeEnum::operator Ifc4x1::IfcLightFixtureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLoadGroupTypeEnum::declaration() const { return *IFC4X1_IfcLoadGroupTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLoadGroupTypeEnum::Class() { return *IFC4X1_IfcLoadGroupTypeEnum_type; }
@@ -5303,6 +5747,10 @@ Ifc4x1::IfcLoadGroupTypeEnum::Value Ifc4x1::IfcLoadGroupTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLoadGroupTypeEnum::operator Ifc4x1::IfcLoadGroupTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcLogicalOperatorEnum::declaration() const { return *IFC4X1_IfcLogicalOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcLogicalOperatorEnum::Class() { return *IFC4X1_IfcLogicalOperatorEnum_type; }
@@ -5337,6 +5785,10 @@ Ifc4x1::IfcLogicalOperatorEnum::Value Ifc4x1::IfcLogicalOperatorEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcLogicalOperatorEnum::operator Ifc4x1::IfcLogicalOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcMechanicalFastenerTypeEnum::declaration() const { return *IFC4X1_IfcMechanicalFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcMechanicalFastenerTypeEnum::Class() { return *IFC4X1_IfcMechanicalFastenerTypeEnum_type; }
@@ -5378,6 +5830,10 @@ Ifc4x1::IfcMechanicalFastenerTypeEnum::Value Ifc4x1::IfcMechanicalFastenerTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcMechanicalFastenerTypeEnum::operator Ifc4x1::IfcMechanicalFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcMedicalDeviceTypeEnum::declaration() const { return *IFC4X1_IfcMedicalDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcMedicalDeviceTypeEnum::Class() { return *IFC4X1_IfcMedicalDeviceTypeEnum_type; }
@@ -5414,6 +5870,10 @@ Ifc4x1::IfcMedicalDeviceTypeEnum::Value Ifc4x1::IfcMedicalDeviceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcMedicalDeviceTypeEnum::operator Ifc4x1::IfcMedicalDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcMemberTypeEnum::declaration() const { return *IFC4X1_IfcMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcMemberTypeEnum::Class() { return *IFC4X1_IfcMemberTypeEnum_type; }
@@ -5457,6 +5917,10 @@ Ifc4x1::IfcMemberTypeEnum::Value Ifc4x1::IfcMemberTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcMemberTypeEnum::operator Ifc4x1::IfcMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcMotorConnectionTypeEnum::declaration() const { return *IFC4X1_IfcMotorConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcMotorConnectionTypeEnum::Class() { return *IFC4X1_IfcMotorConnectionTypeEnum_type; }
@@ -5491,6 +5955,10 @@ Ifc4x1::IfcMotorConnectionTypeEnum::Value Ifc4x1::IfcMotorConnectionTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcMotorConnectionTypeEnum::operator Ifc4x1::IfcMotorConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcNullStyle::declaration() const { return *IFC4X1_IfcNullStyle_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcNullStyle::Class() { return *IFC4X1_IfcNullStyle_type; }
@@ -5521,6 +5989,10 @@ Ifc4x1::IfcNullStyle::Value Ifc4x1::IfcNullStyle::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcNullStyle::operator Ifc4x1::IfcNullStyle::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcObjectTypeEnum::declaration() const { return *IFC4X1_IfcObjectTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcObjectTypeEnum::Class() { return *IFC4X1_IfcObjectTypeEnum_type; }
@@ -5558,6 +6030,10 @@ Ifc4x1::IfcObjectTypeEnum::Value Ifc4x1::IfcObjectTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcObjectTypeEnum::operator Ifc4x1::IfcObjectTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcObjectiveEnum::declaration() const { return *IFC4X1_IfcObjectiveEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcObjectiveEnum::Class() { return *IFC4X1_IfcObjectiveEnum_type; }
@@ -5600,6 +6076,10 @@ Ifc4x1::IfcObjectiveEnum::Value Ifc4x1::IfcObjectiveEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcObjectiveEnum::operator Ifc4x1::IfcObjectiveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcOccupantTypeEnum::declaration() const { return *IFC4X1_IfcOccupantTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcOccupantTypeEnum::Class() { return *IFC4X1_IfcOccupantTypeEnum_type; }
@@ -5638,6 +6118,10 @@ Ifc4x1::IfcOccupantTypeEnum::Value Ifc4x1::IfcOccupantTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcOccupantTypeEnum::operator Ifc4x1::IfcOccupantTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcOpeningElementTypeEnum::declaration() const { return *IFC4X1_IfcOpeningElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcOpeningElementTypeEnum::Class() { return *IFC4X1_IfcOpeningElementTypeEnum_type; }
@@ -5671,6 +6155,10 @@ Ifc4x1::IfcOpeningElementTypeEnum::Value Ifc4x1::IfcOpeningElementTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcOpeningElementTypeEnum::operator Ifc4x1::IfcOpeningElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcOutletTypeEnum::declaration() const { return *IFC4X1_IfcOutletTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcOutletTypeEnum::Class() { return *IFC4X1_IfcOutletTypeEnum_type; }
@@ -5707,6 +6195,10 @@ Ifc4x1::IfcOutletTypeEnum::Value Ifc4x1::IfcOutletTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcOutletTypeEnum::operator Ifc4x1::IfcOutletTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPerformanceHistoryTypeEnum::declaration() const { return *IFC4X1_IfcPerformanceHistoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPerformanceHistoryTypeEnum::Class() { return *IFC4X1_IfcPerformanceHistoryTypeEnum_type; }
@@ -5738,6 +6230,10 @@ Ifc4x1::IfcPerformanceHistoryTypeEnum::Value Ifc4x1::IfcPerformanceHistoryTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPerformanceHistoryTypeEnum::operator Ifc4x1::IfcPerformanceHistoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC4X1_IfcPermeableCoveringOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPermeableCoveringOperationEnum::Class() { return *IFC4X1_IfcPermeableCoveringOperationEnum_type; }
@@ -5772,6 +6268,10 @@ Ifc4x1::IfcPermeableCoveringOperationEnum::Value Ifc4x1::IfcPermeableCoveringOpe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPermeableCoveringOperationEnum::operator Ifc4x1::IfcPermeableCoveringOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPermitTypeEnum::declaration() const { return *IFC4X1_IfcPermitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPermitTypeEnum::Class() { return *IFC4X1_IfcPermitTypeEnum_type; }
@@ -5806,6 +6306,10 @@ Ifc4x1::IfcPermitTypeEnum::Value Ifc4x1::IfcPermitTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPermitTypeEnum::operator Ifc4x1::IfcPermitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC4X1_IfcPhysicalOrVirtualEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPhysicalOrVirtualEnum::Class() { return *IFC4X1_IfcPhysicalOrVirtualEnum_type; }
@@ -5838,6 +6342,10 @@ Ifc4x1::IfcPhysicalOrVirtualEnum::Value Ifc4x1::IfcPhysicalOrVirtualEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPhysicalOrVirtualEnum::operator Ifc4x1::IfcPhysicalOrVirtualEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPileConstructionEnum::declaration() const { return *IFC4X1_IfcPileConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPileConstructionEnum::Class() { return *IFC4X1_IfcPileConstructionEnum_type; }
@@ -5873,6 +6381,10 @@ Ifc4x1::IfcPileConstructionEnum::Value Ifc4x1::IfcPileConstructionEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPileConstructionEnum::operator Ifc4x1::IfcPileConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPileTypeEnum::declaration() const { return *IFC4X1_IfcPileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPileTypeEnum::Class() { return *IFC4X1_IfcPileTypeEnum_type; }
@@ -5910,6 +6422,10 @@ Ifc4x1::IfcPileTypeEnum::Value Ifc4x1::IfcPileTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPileTypeEnum::operator Ifc4x1::IfcPileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPipeFittingTypeEnum::declaration() const { return *IFC4X1_IfcPipeFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPipeFittingTypeEnum::Class() { return *IFC4X1_IfcPipeFittingTypeEnum_type; }
@@ -5948,6 +6464,10 @@ Ifc4x1::IfcPipeFittingTypeEnum::Value Ifc4x1::IfcPipeFittingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPipeFittingTypeEnum::operator Ifc4x1::IfcPipeFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPipeSegmentTypeEnum::declaration() const { return *IFC4X1_IfcPipeSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPipeSegmentTypeEnum::Class() { return *IFC4X1_IfcPipeSegmentTypeEnum_type; }
@@ -5984,6 +6504,10 @@ Ifc4x1::IfcPipeSegmentTypeEnum::Value Ifc4x1::IfcPipeSegmentTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPipeSegmentTypeEnum::operator Ifc4x1::IfcPipeSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPlateTypeEnum::declaration() const { return *IFC4X1_IfcPlateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPlateTypeEnum::Class() { return *IFC4X1_IfcPlateTypeEnum_type; }
@@ -6017,6 +6541,10 @@ Ifc4x1::IfcPlateTypeEnum::Value Ifc4x1::IfcPlateTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPlateTypeEnum::operator Ifc4x1::IfcPlateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *IFC4X1_IfcPreferredSurfaceCurveRepresentation_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class() { return *IFC4X1_IfcPreferredSurfaceCurveRepresentation_type; }
@@ -6049,6 +6577,10 @@ Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x1::IfcPreferredSurfac
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProcedureTypeEnum::declaration() const { return *IFC4X1_IfcProcedureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProcedureTypeEnum::Class() { return *IFC4X1_IfcProcedureTypeEnum_type; }
@@ -6087,6 +6619,10 @@ Ifc4x1::IfcProcedureTypeEnum::Value Ifc4x1::IfcProcedureTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProcedureTypeEnum::operator Ifc4x1::IfcProcedureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProfileTypeEnum::declaration() const { return *IFC4X1_IfcProfileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProfileTypeEnum::Class() { return *IFC4X1_IfcProfileTypeEnum_type; }
@@ -6118,6 +6654,10 @@ Ifc4x1::IfcProfileTypeEnum::Value Ifc4x1::IfcProfileTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProfileTypeEnum::operator Ifc4x1::IfcProfileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProjectOrderTypeEnum::declaration() const { return *IFC4X1_IfcProjectOrderTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProjectOrderTypeEnum::Class() { return *IFC4X1_IfcProjectOrderTypeEnum_type; }
@@ -6154,6 +6694,10 @@ Ifc4x1::IfcProjectOrderTypeEnum::Value Ifc4x1::IfcProjectOrderTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProjectOrderTypeEnum::operator Ifc4x1::IfcProjectOrderTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC4X1_IfcProjectedOrTrueLengthEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProjectedOrTrueLengthEnum::Class() { return *IFC4X1_IfcProjectedOrTrueLengthEnum_type; }
@@ -6185,6 +6729,10 @@ Ifc4x1::IfcProjectedOrTrueLengthEnum::Value Ifc4x1::IfcProjectedOrTrueLengthEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProjectedOrTrueLengthEnum::operator Ifc4x1::IfcProjectedOrTrueLengthEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProjectionElementTypeEnum::declaration() const { return *IFC4X1_IfcProjectionElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProjectionElementTypeEnum::Class() { return *IFC4X1_IfcProjectionElementTypeEnum_type; }
@@ -6216,6 +6764,10 @@ Ifc4x1::IfcProjectionElementTypeEnum::Value Ifc4x1::IfcProjectionElementTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProjectionElementTypeEnum::operator Ifc4x1::IfcProjectionElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPropertySetTemplateTypeEnum::declaration() const { return *IFC4X1_IfcPropertySetTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPropertySetTemplateTypeEnum::Class() { return *IFC4X1_IfcPropertySetTemplateTypeEnum_type; }
@@ -6253,6 +6805,10 @@ Ifc4x1::IfcPropertySetTemplateTypeEnum::Value Ifc4x1::IfcPropertySetTemplateType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPropertySetTemplateTypeEnum::operator Ifc4x1::IfcPropertySetTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *IFC4X1_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *IFC4X1_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
@@ -6288,6 +6844,10 @@ Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x1::IfcProtectiveDevi
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC4X1_IfcProtectiveDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcProtectiveDeviceTypeEnum::Class() { return *IFC4X1_IfcProtectiveDeviceTypeEnum_type; }
@@ -6326,6 +6886,10 @@ Ifc4x1::IfcProtectiveDeviceTypeEnum::Value Ifc4x1::IfcProtectiveDeviceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcProtectiveDeviceTypeEnum::operator Ifc4x1::IfcProtectiveDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcPumpTypeEnum::declaration() const { return *IFC4X1_IfcPumpTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcPumpTypeEnum::Class() { return *IFC4X1_IfcPumpTypeEnum_type; }
@@ -6364,6 +6928,10 @@ Ifc4x1::IfcPumpTypeEnum::Value Ifc4x1::IfcPumpTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcPumpTypeEnum::operator Ifc4x1::IfcPumpTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcRailingTypeEnum::declaration() const { return *IFC4X1_IfcRailingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcRailingTypeEnum::Class() { return *IFC4X1_IfcRailingTypeEnum_type; }
@@ -6398,6 +6966,10 @@ Ifc4x1::IfcRailingTypeEnum::Value Ifc4x1::IfcRailingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcRailingTypeEnum::operator Ifc4x1::IfcRailingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcRampFlightTypeEnum::declaration() const { return *IFC4X1_IfcRampFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcRampFlightTypeEnum::Class() { return *IFC4X1_IfcRampFlightTypeEnum_type; }
@@ -6431,6 +7003,10 @@ Ifc4x1::IfcRampFlightTypeEnum::Value Ifc4x1::IfcRampFlightTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcRampFlightTypeEnum::operator Ifc4x1::IfcRampFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcRampTypeEnum::declaration() const { return *IFC4X1_IfcRampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcRampTypeEnum::Class() { return *IFC4X1_IfcRampTypeEnum_type; }
@@ -6468,6 +7044,10 @@ Ifc4x1::IfcRampTypeEnum::Value Ifc4x1::IfcRampTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcRampTypeEnum::operator Ifc4x1::IfcRampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcRecurrenceTypeEnum::declaration() const { return *IFC4X1_IfcRecurrenceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcRecurrenceTypeEnum::Class() { return *IFC4X1_IfcRecurrenceTypeEnum_type; }
@@ -6505,6 +7085,10 @@ Ifc4x1::IfcRecurrenceTypeEnum::Value Ifc4x1::IfcRecurrenceTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcRecurrenceTypeEnum::operator Ifc4x1::IfcRecurrenceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcReferentTypeEnum::declaration() const { return *IFC4X1_IfcReferentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcReferentTypeEnum::Class() { return *IFC4X1_IfcReferentTypeEnum_type; }
@@ -6539,6 +7123,10 @@ Ifc4x1::IfcReferentTypeEnum::Value Ifc4x1::IfcReferentTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcReferentTypeEnum::operator Ifc4x1::IfcReferentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcReflectanceMethodEnum::declaration() const { return *IFC4X1_IfcReflectanceMethodEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcReflectanceMethodEnum::Class() { return *IFC4X1_IfcReflectanceMethodEnum_type; }
@@ -6578,6 +7166,10 @@ Ifc4x1::IfcReflectanceMethodEnum::Value Ifc4x1::IfcReflectanceMethodEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcReflectanceMethodEnum::operator Ifc4x1::IfcReflectanceMethodEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarRoleEnum::declaration() const { return *IFC4X1_IfcReinforcingBarRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarRoleEnum::Class() { return *IFC4X1_IfcReinforcingBarRoleEnum_type; }
@@ -6617,6 +7209,10 @@ Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcReinforcingBarRoleEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcReinforcingBarRoleEnum::operator Ifc4x1::IfcReinforcingBarRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC4X1_IfcReinforcingBarSurfaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarSurfaceEnum::Class() { return *IFC4X1_IfcReinforcingBarSurfaceEnum_type; }
@@ -6648,6 +7244,10 @@ Ifc4x1::IfcReinforcingBarSurfaceEnum::Value Ifc4x1::IfcReinforcingBarSurfaceEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcReinforcingBarSurfaceEnum::operator Ifc4x1::IfcReinforcingBarSurfaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarTypeEnum::declaration() const { return *IFC4X1_IfcReinforcingBarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarTypeEnum::Class() { return *IFC4X1_IfcReinforcingBarTypeEnum_type; }
@@ -6687,6 +7287,10 @@ Ifc4x1::IfcReinforcingBarTypeEnum::Value Ifc4x1::IfcReinforcingBarTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcReinforcingBarTypeEnum::operator Ifc4x1::IfcReinforcingBarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingMeshTypeEnum::declaration() const { return *IFC4X1_IfcReinforcingMeshTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingMeshTypeEnum::Class() { return *IFC4X1_IfcReinforcingMeshTypeEnum_type; }
@@ -6718,6 +7322,10 @@ Ifc4x1::IfcReinforcingMeshTypeEnum::Value Ifc4x1::IfcReinforcingMeshTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcReinforcingMeshTypeEnum::operator Ifc4x1::IfcReinforcingMeshTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcRoleEnum::declaration() const { return *IFC4X1_IfcRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcRoleEnum::Class() { return *IFC4X1_IfcRoleEnum_type; }
@@ -6770,6 +7378,10 @@ Ifc4x1::IfcRoleEnum::Value Ifc4x1::IfcRoleEnum::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcRoleEnum::operator Ifc4x1::IfcRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcRoofTypeEnum::declaration() const { return *IFC4X1_IfcRoofTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcRoofTypeEnum::Class() { return *IFC4X1_IfcRoofTypeEnum_type; }
@@ -6814,6 +7426,10 @@ Ifc4x1::IfcRoofTypeEnum::Value Ifc4x1::IfcRoofTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcRoofTypeEnum::operator Ifc4x1::IfcRoofTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSIPrefix::declaration() const { return *IFC4X1_IfcSIPrefix_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSIPrefix::Class() { return *IFC4X1_IfcSIPrefix_type; }
@@ -6859,6 +7475,10 @@ Ifc4x1::IfcSIPrefix::Value Ifc4x1::IfcSIPrefix::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSIPrefix::operator Ifc4x1::IfcSIPrefix::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSIUnitName::declaration() const { return *IFC4X1_IfcSIUnitName_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSIUnitName::Class() { return *IFC4X1_IfcSIUnitName_type; }
@@ -6918,6 +7538,10 @@ Ifc4x1::IfcSIUnitName::Value Ifc4x1::IfcSIUnitName::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSIUnitName::operator Ifc4x1::IfcSIUnitName::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC4X1_IfcSanitaryTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSanitaryTerminalTypeEnum::Class() { return *IFC4X1_IfcSanitaryTerminalTypeEnum_type; }
@@ -6959,6 +7583,10 @@ Ifc4x1::IfcSanitaryTerminalTypeEnum::Value Ifc4x1::IfcSanitaryTerminalTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSanitaryTerminalTypeEnum::operator Ifc4x1::IfcSanitaryTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSectionTypeEnum::declaration() const { return *IFC4X1_IfcSectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSectionTypeEnum::Class() { return *IFC4X1_IfcSectionTypeEnum_type; }
@@ -6990,6 +7618,10 @@ Ifc4x1::IfcSectionTypeEnum::Value Ifc4x1::IfcSectionTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSectionTypeEnum::operator Ifc4x1::IfcSectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSensorTypeEnum::declaration() const { return *IFC4X1_IfcSensorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSensorTypeEnum::Class() { return *IFC4X1_IfcSensorTypeEnum_type; }
@@ -7045,6 +7677,10 @@ Ifc4x1::IfcSensorTypeEnum::Value Ifc4x1::IfcSensorTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSensorTypeEnum::operator Ifc4x1::IfcSensorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSequenceEnum::declaration() const { return *IFC4X1_IfcSequenceEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSequenceEnum::Class() { return *IFC4X1_IfcSequenceEnum_type; }
@@ -7080,6 +7716,10 @@ Ifc4x1::IfcSequenceEnum::Value Ifc4x1::IfcSequenceEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSequenceEnum::operator Ifc4x1::IfcSequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcShadingDeviceTypeEnum::declaration() const { return *IFC4X1_IfcShadingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcShadingDeviceTypeEnum::Class() { return *IFC4X1_IfcShadingDeviceTypeEnum_type; }
@@ -7114,6 +7754,10 @@ Ifc4x1::IfcShadingDeviceTypeEnum::Value Ifc4x1::IfcShadingDeviceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcShadingDeviceTypeEnum::operator Ifc4x1::IfcShadingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *IFC4X1_IfcSimplePropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Class() { return *IFC4X1_IfcSimplePropertyTemplateTypeEnum_type; }
@@ -7155,6 +7799,10 @@ Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x1::IfcSimplePropertyTempla
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSlabTypeEnum::declaration() const { return *IFC4X1_IfcSlabTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSlabTypeEnum::Class() { return *IFC4X1_IfcSlabTypeEnum_type; }
@@ -7190,6 +7838,10 @@ Ifc4x1::IfcSlabTypeEnum::Value Ifc4x1::IfcSlabTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSlabTypeEnum::operator Ifc4x1::IfcSlabTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSolarDeviceTypeEnum::declaration() const { return *IFC4X1_IfcSolarDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSolarDeviceTypeEnum::Class() { return *IFC4X1_IfcSolarDeviceTypeEnum_type; }
@@ -7223,6 +7875,10 @@ Ifc4x1::IfcSolarDeviceTypeEnum::Value Ifc4x1::IfcSolarDeviceTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSolarDeviceTypeEnum::operator Ifc4x1::IfcSolarDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC4X1_IfcSpaceHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSpaceHeaterTypeEnum::Class() { return *IFC4X1_IfcSpaceHeaterTypeEnum_type; }
@@ -7256,6 +7912,10 @@ Ifc4x1::IfcSpaceHeaterTypeEnum::Value Ifc4x1::IfcSpaceHeaterTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSpaceHeaterTypeEnum::operator Ifc4x1::IfcSpaceHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSpaceTypeEnum::declaration() const { return *IFC4X1_IfcSpaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSpaceTypeEnum::Class() { return *IFC4X1_IfcSpaceTypeEnum_type; }
@@ -7292,6 +7952,10 @@ Ifc4x1::IfcSpaceTypeEnum::Value Ifc4x1::IfcSpaceTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSpaceTypeEnum::operator Ifc4x1::IfcSpaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSpatialZoneTypeEnum::declaration() const { return *IFC4X1_IfcSpatialZoneTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSpatialZoneTypeEnum::Class() { return *IFC4X1_IfcSpatialZoneTypeEnum_type; }
@@ -7331,6 +7995,10 @@ Ifc4x1::IfcSpatialZoneTypeEnum::Value Ifc4x1::IfcSpatialZoneTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSpatialZoneTypeEnum::operator Ifc4x1::IfcSpatialZoneTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStackTerminalTypeEnum::declaration() const { return *IFC4X1_IfcStackTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStackTerminalTypeEnum::Class() { return *IFC4X1_IfcStackTerminalTypeEnum_type; }
@@ -7365,6 +8033,10 @@ Ifc4x1::IfcStackTerminalTypeEnum::Value Ifc4x1::IfcStackTerminalTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStackTerminalTypeEnum::operator Ifc4x1::IfcStackTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStairFlightTypeEnum::declaration() const { return *IFC4X1_IfcStairFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStairFlightTypeEnum::Class() { return *IFC4X1_IfcStairFlightTypeEnum_type; }
@@ -7401,6 +8073,10 @@ Ifc4x1::IfcStairFlightTypeEnum::Value Ifc4x1::IfcStairFlightTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStairFlightTypeEnum::operator Ifc4x1::IfcStairFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStairTypeEnum::declaration() const { return *IFC4X1_IfcStairTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStairTypeEnum::Class() { return *IFC4X1_IfcStairTypeEnum_type; }
@@ -7446,6 +8122,10 @@ Ifc4x1::IfcStairTypeEnum::Value Ifc4x1::IfcStairTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStairTypeEnum::operator Ifc4x1::IfcStairTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStateEnum::declaration() const { return *IFC4X1_IfcStateEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStateEnum::Class() { return *IFC4X1_IfcStateEnum_type; }
@@ -7480,6 +8160,10 @@ Ifc4x1::IfcStateEnum::Value Ifc4x1::IfcStateEnum::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStateEnum::operator Ifc4x1::IfcStateEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralCurveActivityTypeEnum::declaration() const { return *IFC4X1_IfcStructuralCurveActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class() { return *IFC4X1_IfcStructuralCurveActivityTypeEnum_type; }
@@ -7518,6 +8202,10 @@ Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveActi
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStructuralCurveActivityTypeEnum::operator Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralCurveMemberTypeEnum::declaration() const { return *IFC4X1_IfcStructuralCurveMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class() { return *IFC4X1_IfcStructuralCurveMemberTypeEnum_type; }
@@ -7554,6 +8242,10 @@ Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStructuralCurveMemberTypeEnum::operator Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *IFC4X1_IfcStructuralSurfaceActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class() { return *IFC4X1_IfcStructuralSurfaceActivityTypeEnum_type; }
@@ -7589,6 +8281,10 @@ Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurface
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *IFC4X1_IfcStructuralSurfaceMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class() { return *IFC4X1_IfcStructuralSurfaceMemberTypeEnum_type; }
@@ -7623,6 +8319,10 @@ Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x1::IfcStructuralSurfaceMe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSubContractResourceTypeEnum::declaration() const { return *IFC4X1_IfcSubContractResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSubContractResourceTypeEnum::Class() { return *IFC4X1_IfcSubContractResourceTypeEnum_type; }
@@ -7656,6 +8356,10 @@ Ifc4x1::IfcSubContractResourceTypeEnum::Value Ifc4x1::IfcSubContractResourceType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSubContractResourceTypeEnum::operator Ifc4x1::IfcSubContractResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSurfaceFeatureTypeEnum::declaration() const { return *IFC4X1_IfcSurfaceFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSurfaceFeatureTypeEnum::Class() { return *IFC4X1_IfcSurfaceFeatureTypeEnum_type; }
@@ -7690,6 +8394,10 @@ Ifc4x1::IfcSurfaceFeatureTypeEnum::Value Ifc4x1::IfcSurfaceFeatureTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSurfaceFeatureTypeEnum::operator Ifc4x1::IfcSurfaceFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSurfaceSide::declaration() const { return *IFC4X1_IfcSurfaceSide_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSurfaceSide::Class() { return *IFC4X1_IfcSurfaceSide_type; }
@@ -7722,6 +8430,10 @@ Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceSide::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSurfaceSide::operator Ifc4x1::IfcSurfaceSide::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC4X1_IfcSwitchingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSwitchingDeviceTypeEnum::Class() { return *IFC4X1_IfcSwitchingDeviceTypeEnum_type; }
@@ -7762,6 +8474,10 @@ Ifc4x1::IfcSwitchingDeviceTypeEnum::Value Ifc4x1::IfcSwitchingDeviceTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSwitchingDeviceTypeEnum::operator Ifc4x1::IfcSwitchingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcSystemFurnitureElementTypeEnum::declaration() const { return *IFC4X1_IfcSystemFurnitureElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class() { return *IFC4X1_IfcSystemFurnitureElementTypeEnum_type; }
@@ -7795,6 +8511,10 @@ Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value Ifc4x1::IfcSystemFurnitureEleme
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcSystemFurnitureElementTypeEnum::operator Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTankTypeEnum::declaration() const { return *IFC4X1_IfcTankTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTankTypeEnum::Class() { return *IFC4X1_IfcTankTypeEnum_type; }
@@ -7833,6 +8553,10 @@ Ifc4x1::IfcTankTypeEnum::Value Ifc4x1::IfcTankTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTankTypeEnum::operator Ifc4x1::IfcTankTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTaskDurationEnum::declaration() const { return *IFC4X1_IfcTaskDurationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTaskDurationEnum::Class() { return *IFC4X1_IfcTaskDurationEnum_type; }
@@ -7865,6 +8589,10 @@ Ifc4x1::IfcTaskDurationEnum::Value Ifc4x1::IfcTaskDurationEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTaskDurationEnum::operator Ifc4x1::IfcTaskDurationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTaskTypeEnum::declaration() const { return *IFC4X1_IfcTaskTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTaskTypeEnum::Class() { return *IFC4X1_IfcTaskTypeEnum_type; }
@@ -7908,6 +8636,10 @@ Ifc4x1::IfcTaskTypeEnum::Value Ifc4x1::IfcTaskTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTaskTypeEnum::operator Ifc4x1::IfcTaskTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTendonAnchorTypeEnum::declaration() const { return *IFC4X1_IfcTendonAnchorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTendonAnchorTypeEnum::Class() { return *IFC4X1_IfcTendonAnchorTypeEnum_type; }
@@ -7942,6 +8674,10 @@ Ifc4x1::IfcTendonAnchorTypeEnum::Value Ifc4x1::IfcTendonAnchorTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTendonAnchorTypeEnum::operator Ifc4x1::IfcTendonAnchorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTendonTypeEnum::declaration() const { return *IFC4X1_IfcTendonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTendonTypeEnum::Class() { return *IFC4X1_IfcTendonTypeEnum_type; }
@@ -7977,6 +8713,10 @@ Ifc4x1::IfcTendonTypeEnum::Value Ifc4x1::IfcTendonTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTendonTypeEnum::operator Ifc4x1::IfcTendonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTextPath::declaration() const { return *IFC4X1_IfcTextPath_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTextPath::Class() { return *IFC4X1_IfcTextPath_type; }
@@ -8010,6 +8750,10 @@ Ifc4x1::IfcTextPath::Value Ifc4x1::IfcTextPath::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTextPath::operator Ifc4x1::IfcTextPath::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC4X1_IfcTimeSeriesDataTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTimeSeriesDataTypeEnum::Class() { return *IFC4X1_IfcTimeSeriesDataTypeEnum_type; }
@@ -8046,6 +8790,10 @@ Ifc4x1::IfcTimeSeriesDataTypeEnum::Value Ifc4x1::IfcTimeSeriesDataTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTimeSeriesDataTypeEnum::operator Ifc4x1::IfcTimeSeriesDataTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTransformerTypeEnum::declaration() const { return *IFC4X1_IfcTransformerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTransformerTypeEnum::Class() { return *IFC4X1_IfcTransformerTypeEnum_type; }
@@ -8082,6 +8830,10 @@ Ifc4x1::IfcTransformerTypeEnum::Value Ifc4x1::IfcTransformerTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTransformerTypeEnum::operator Ifc4x1::IfcTransformerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTransitionCode::declaration() const { return *IFC4X1_IfcTransitionCode_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTransitionCode::Class() { return *IFC4X1_IfcTransitionCode_type; }
@@ -8115,6 +8867,10 @@ Ifc4x1::IfcTransitionCode::Value Ifc4x1::IfcTransitionCode::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTransitionCode::operator Ifc4x1::IfcTransitionCode::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTransitionCurveType::declaration() const { return *IFC4X1_IfcTransitionCurveType_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTransitionCurveType::Class() { return *IFC4X1_IfcTransitionCurveType_type; }
@@ -8150,6 +8906,10 @@ Ifc4x1::IfcTransitionCurveType::Value Ifc4x1::IfcTransitionCurveType::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTransitionCurveType::operator Ifc4x1::IfcTransitionCurveType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTransportElementTypeEnum::declaration() const { return *IFC4X1_IfcTransportElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTransportElementTypeEnum::Class() { return *IFC4X1_IfcTransportElementTypeEnum_type; }
@@ -8186,6 +8946,10 @@ Ifc4x1::IfcTransportElementTypeEnum::Value Ifc4x1::IfcTransportElementTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTransportElementTypeEnum::operator Ifc4x1::IfcTransportElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTrimmingPreference::declaration() const { return *IFC4X1_IfcTrimmingPreference_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTrimmingPreference::Class() { return *IFC4X1_IfcTrimmingPreference_type; }
@@ -8218,6 +8982,10 @@ Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmingPreference::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTrimmingPreference::operator Ifc4x1::IfcTrimmingPreference::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcTubeBundleTypeEnum::declaration() const { return *IFC4X1_IfcTubeBundleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcTubeBundleTypeEnum::Class() { return *IFC4X1_IfcTubeBundleTypeEnum_type; }
@@ -8250,6 +9018,10 @@ Ifc4x1::IfcTubeBundleTypeEnum::Value Ifc4x1::IfcTubeBundleTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcTubeBundleTypeEnum::operator Ifc4x1::IfcTubeBundleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcUnitEnum::declaration() const { return *IFC4X1_IfcUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcUnitEnum::Class() { return *IFC4X1_IfcUnitEnum_type; }
@@ -8309,6 +9081,10 @@ Ifc4x1::IfcUnitEnum::Value Ifc4x1::IfcUnitEnum::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcUnitEnum::operator Ifc4x1::IfcUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcUnitaryControlElementTypeEnum::declaration() const { return *IFC4X1_IfcUnitaryControlElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcUnitaryControlElementTypeEnum::Class() { return *IFC4X1_IfcUnitaryControlElementTypeEnum_type; }
@@ -8348,6 +9124,10 @@ Ifc4x1::IfcUnitaryControlElementTypeEnum::Value Ifc4x1::IfcUnitaryControlElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcUnitaryControlElementTypeEnum::operator Ifc4x1::IfcUnitaryControlElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC4X1_IfcUnitaryEquipmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC4X1_IfcUnitaryEquipmentTypeEnum_type; }
@@ -8384,6 +9164,10 @@ Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x1::IfcUnitaryEquipmentTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcUnitaryEquipmentTypeEnum::operator Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcValveTypeEnum::declaration() const { return *IFC4X1_IfcValveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcValveTypeEnum::Class() { return *IFC4X1_IfcValveTypeEnum_type; }
@@ -8436,6 +9220,10 @@ Ifc4x1::IfcValveTypeEnum::Value Ifc4x1::IfcValveTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcValveTypeEnum::operator Ifc4x1::IfcValveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC4X1_IfcVibrationIsolatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcVibrationIsolatorTypeEnum::Class() { return *IFC4X1_IfcVibrationIsolatorTypeEnum_type; }
@@ -8469,6 +9257,10 @@ Ifc4x1::IfcVibrationIsolatorTypeEnum::Value Ifc4x1::IfcVibrationIsolatorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcVibrationIsolatorTypeEnum::operator Ifc4x1::IfcVibrationIsolatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcVoidingFeatureTypeEnum::declaration() const { return *IFC4X1_IfcVoidingFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcVoidingFeatureTypeEnum::Class() { return *IFC4X1_IfcVoidingFeatureTypeEnum_type; }
@@ -8506,6 +9298,10 @@ Ifc4x1::IfcVoidingFeatureTypeEnum::Value Ifc4x1::IfcVoidingFeatureTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcVoidingFeatureTypeEnum::operator Ifc4x1::IfcVoidingFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWallTypeEnum::declaration() const { return *IFC4X1_IfcWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWallTypeEnum::Class() { return *IFC4X1_IfcWallTypeEnum_type; }
@@ -8546,6 +9342,10 @@ Ifc4x1::IfcWallTypeEnum::Value Ifc4x1::IfcWallTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWallTypeEnum::operator Ifc4x1::IfcWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWasteTerminalTypeEnum::declaration() const { return *IFC4X1_IfcWasteTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWasteTerminalTypeEnum::Class() { return *IFC4X1_IfcWasteTerminalTypeEnum_type; }
@@ -8584,6 +9384,10 @@ Ifc4x1::IfcWasteTerminalTypeEnum::Value Ifc4x1::IfcWasteTerminalTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWasteTerminalTypeEnum::operator Ifc4x1::IfcWasteTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWindowPanelOperationEnum::declaration() const { return *IFC4X1_IfcWindowPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWindowPanelOperationEnum::Class() { return *IFC4X1_IfcWindowPanelOperationEnum_type; }
@@ -8627,6 +9431,10 @@ Ifc4x1::IfcWindowPanelOperationEnum::Value Ifc4x1::IfcWindowPanelOperationEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWindowPanelOperationEnum::operator Ifc4x1::IfcWindowPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWindowPanelPositionEnum::declaration() const { return *IFC4X1_IfcWindowPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWindowPanelPositionEnum::Class() { return *IFC4X1_IfcWindowPanelPositionEnum_type; }
@@ -8662,6 +9470,10 @@ Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcWindowPanelPositionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWindowPanelPositionEnum::operator Ifc4x1::IfcWindowPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWindowStyleConstructionEnum::declaration() const { return *IFC4X1_IfcWindowStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWindowStyleConstructionEnum::Class() { return *IFC4X1_IfcWindowStyleConstructionEnum_type; }
@@ -8699,6 +9511,10 @@ Ifc4x1::IfcWindowStyleConstructionEnum::Value Ifc4x1::IfcWindowStyleConstruction
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWindowStyleConstructionEnum::operator Ifc4x1::IfcWindowStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWindowStyleOperationEnum::declaration() const { return *IFC4X1_IfcWindowStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWindowStyleOperationEnum::Class() { return *IFC4X1_IfcWindowStyleOperationEnum_type; }
@@ -8739,6 +9555,10 @@ Ifc4x1::IfcWindowStyleOperationEnum::Value Ifc4x1::IfcWindowStyleOperationEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWindowStyleOperationEnum::operator Ifc4x1::IfcWindowStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWindowTypeEnum::declaration() const { return *IFC4X1_IfcWindowTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWindowTypeEnum::Class() { return *IFC4X1_IfcWindowTypeEnum_type; }
@@ -8773,6 +9593,10 @@ Ifc4x1::IfcWindowTypeEnum::Value Ifc4x1::IfcWindowTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWindowTypeEnum::operator Ifc4x1::IfcWindowTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWindowTypePartitioningEnum::declaration() const { return *IFC4X1_IfcWindowTypePartitioningEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWindowTypePartitioningEnum::Class() { return *IFC4X1_IfcWindowTypePartitioningEnum_type; }
@@ -8813,6 +9637,10 @@ Ifc4x1::IfcWindowTypePartitioningEnum::Value Ifc4x1::IfcWindowTypePartitioningEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWindowTypePartitioningEnum::operator Ifc4x1::IfcWindowTypePartitioningEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWorkCalendarTypeEnum::declaration() const { return *IFC4X1_IfcWorkCalendarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWorkCalendarTypeEnum::Class() { return *IFC4X1_IfcWorkCalendarTypeEnum_type; }
@@ -8847,6 +9675,10 @@ Ifc4x1::IfcWorkCalendarTypeEnum::Value Ifc4x1::IfcWorkCalendarTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWorkCalendarTypeEnum::operator Ifc4x1::IfcWorkCalendarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWorkPlanTypeEnum::declaration() const { return *IFC4X1_IfcWorkPlanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWorkPlanTypeEnum::Class() { return *IFC4X1_IfcWorkPlanTypeEnum_type; }
@@ -8881,6 +9713,10 @@ Ifc4x1::IfcWorkPlanTypeEnum::Value Ifc4x1::IfcWorkPlanTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWorkPlanTypeEnum::operator Ifc4x1::IfcWorkPlanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x1::IfcWorkScheduleTypeEnum::declaration() const { return *IFC4X1_IfcWorkScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x1::IfcWorkScheduleTypeEnum::Class() { return *IFC4X1_IfcWorkScheduleTypeEnum_type; }
@@ -8915,6 +9751,10 @@ Ifc4x1::IfcWorkScheduleTypeEnum::Value Ifc4x1::IfcWorkScheduleTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x1::IfcWorkScheduleTypeEnum::operator Ifc4x1::IfcWorkScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
// Function implementations for IfcAbsorbedDoseMeasure
const IfcParse::type_declaration& Ifc4x1::IfcAbsorbedDoseMeasure::Class() { return *IFC4X1_IfcAbsorbedDoseMeasure_type; }
diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp
index bc989166b3..5dd21550bd 100644
--- a/src/ifcparse/Ifc4x2.cpp
+++ b/src/ifcparse/Ifc4x2.cpp
@@ -1238,6 +1238,10 @@ Ifc4x2::IfcActionRequestTypeEnum::Value Ifc4x2::IfcActionRequestTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcActionRequestTypeEnum::operator Ifc4x2::IfcActionRequestTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcActionSourceTypeEnum::declaration() const { return *IFC4X2_IfcActionSourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcActionSourceTypeEnum::Class() { return *IFC4X2_IfcActionSourceTypeEnum_type; }
@@ -1294,6 +1298,10 @@ Ifc4x2::IfcActionSourceTypeEnum::Value Ifc4x2::IfcActionSourceTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcActionSourceTypeEnum::operator Ifc4x2::IfcActionSourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcActionTypeEnum::declaration() const { return *IFC4X2_IfcActionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcActionTypeEnum::Class() { return *IFC4X2_IfcActionTypeEnum_type; }
@@ -1328,6 +1336,10 @@ Ifc4x2::IfcActionTypeEnum::Value Ifc4x2::IfcActionTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcActionTypeEnum::operator Ifc4x2::IfcActionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcActuatorTypeEnum::declaration() const { return *IFC4X2_IfcActuatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcActuatorTypeEnum::Class() { return *IFC4X2_IfcActuatorTypeEnum_type; }
@@ -1364,6 +1376,10 @@ Ifc4x2::IfcActuatorTypeEnum::Value Ifc4x2::IfcActuatorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcActuatorTypeEnum::operator Ifc4x2::IfcActuatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAddressTypeEnum::declaration() const { return *IFC4X2_IfcAddressTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAddressTypeEnum::Class() { return *IFC4X2_IfcAddressTypeEnum_type; }
@@ -1398,6 +1414,10 @@ Ifc4x2::IfcAddressTypeEnum::Value Ifc4x2::IfcAddressTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAddressTypeEnum::operator Ifc4x2::IfcAddressTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC4X2_IfcAirTerminalBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAirTerminalBoxTypeEnum::Class() { return *IFC4X2_IfcAirTerminalBoxTypeEnum_type; }
@@ -1432,6 +1452,10 @@ Ifc4x2::IfcAirTerminalBoxTypeEnum::Value Ifc4x2::IfcAirTerminalBoxTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAirTerminalBoxTypeEnum::operator Ifc4x2::IfcAirTerminalBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAirTerminalTypeEnum::declaration() const { return *IFC4X2_IfcAirTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAirTerminalTypeEnum::Class() { return *IFC4X2_IfcAirTerminalTypeEnum_type; }
@@ -1467,6 +1491,10 @@ Ifc4x2::IfcAirTerminalTypeEnum::Value Ifc4x2::IfcAirTerminalTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAirTerminalTypeEnum::operator Ifc4x2::IfcAirTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC4X2_IfcAirToAirHeatRecoveryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC4X2_IfcAirToAirHeatRecoveryTypeEnum_type; }
@@ -1507,6 +1535,10 @@ Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x2::IfcAirToAirHeatRecoveryTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAlarmTypeEnum::declaration() const { return *IFC4X2_IfcAlarmTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAlarmTypeEnum::Class() { return *IFC4X2_IfcAlarmTypeEnum_type; }
@@ -1544,6 +1576,10 @@ Ifc4x2::IfcAlarmTypeEnum::Value Ifc4x2::IfcAlarmTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAlarmTypeEnum::operator Ifc4x2::IfcAlarmTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAlignmentTypeEnum::declaration() const { return *IFC4X2_IfcAlignmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAlignmentTypeEnum::Class() { return *IFC4X2_IfcAlignmentTypeEnum_type; }
@@ -1575,6 +1611,10 @@ Ifc4x2::IfcAlignmentTypeEnum::Value Ifc4x2::IfcAlignmentTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAlignmentTypeEnum::operator Ifc4x2::IfcAlignmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAnalysisModelTypeEnum::declaration() const { return *IFC4X2_IfcAnalysisModelTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAnalysisModelTypeEnum::Class() { return *IFC4X2_IfcAnalysisModelTypeEnum_type; }
@@ -1609,6 +1649,10 @@ Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcAnalysisModelTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAnalysisModelTypeEnum::operator Ifc4x2::IfcAnalysisModelTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC4X2_IfcAnalysisTheoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAnalysisTheoryTypeEnum::Class() { return *IFC4X2_IfcAnalysisTheoryTypeEnum_type; }
@@ -1644,6 +1688,10 @@ Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcAnalysisTheoryTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAnalysisTheoryTypeEnum::operator Ifc4x2::IfcAnalysisTheoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcArithmeticOperatorEnum::declaration() const { return *IFC4X2_IfcArithmeticOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcArithmeticOperatorEnum::Class() { return *IFC4X2_IfcArithmeticOperatorEnum_type; }
@@ -1677,6 +1725,10 @@ Ifc4x2::IfcArithmeticOperatorEnum::Value Ifc4x2::IfcArithmeticOperatorEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcArithmeticOperatorEnum::operator Ifc4x2::IfcArithmeticOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAssemblyPlaceEnum::declaration() const { return *IFC4X2_IfcAssemblyPlaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAssemblyPlaceEnum::Class() { return *IFC4X2_IfcAssemblyPlaceEnum_type; }
@@ -1709,6 +1761,10 @@ Ifc4x2::IfcAssemblyPlaceEnum::Value Ifc4x2::IfcAssemblyPlaceEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAssemblyPlaceEnum::operator Ifc4x2::IfcAssemblyPlaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcAudioVisualApplianceTypeEnum::declaration() const { return *IFC4X2_IfcAudioVisualApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class() { return *IFC4X2_IfcAudioVisualApplianceTypeEnum_type; }
@@ -1751,6 +1807,10 @@ Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x2::IfcAudioVisualApplianceTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcAudioVisualApplianceTypeEnum::operator Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBSplineCurveForm::declaration() const { return *IFC4X2_IfcBSplineCurveForm_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBSplineCurveForm::Class() { return *IFC4X2_IfcBSplineCurveForm_type; }
@@ -1786,6 +1846,10 @@ Ifc4x2::IfcBSplineCurveForm::Value Ifc4x2::IfcBSplineCurveForm::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBSplineCurveForm::operator Ifc4x2::IfcBSplineCurveForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBSplineSurfaceForm::declaration() const { return *IFC4X2_IfcBSplineSurfaceForm_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBSplineSurfaceForm::Class() { return *IFC4X2_IfcBSplineSurfaceForm_type; }
@@ -1826,6 +1890,10 @@ Ifc4x2::IfcBSplineSurfaceForm::Value Ifc4x2::IfcBSplineSurfaceForm::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBSplineSurfaceForm::operator Ifc4x2::IfcBSplineSurfaceForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBeamTypeEnum::declaration() const { return *IFC4X2_IfcBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBeamTypeEnum::Class() { return *IFC4X2_IfcBeamTypeEnum_type; }
@@ -1869,6 +1937,10 @@ Ifc4x2::IfcBeamTypeEnum::Value Ifc4x2::IfcBeamTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBeamTypeEnum::operator Ifc4x2::IfcBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBearingTypeDisplacementEnum::declaration() const { return *IFC4X2_IfcBearingTypeDisplacementEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBearingTypeDisplacementEnum::Class() { return *IFC4X2_IfcBearingTypeDisplacementEnum_type; }
@@ -1903,6 +1975,10 @@ Ifc4x2::IfcBearingTypeDisplacementEnum::Value Ifc4x2::IfcBearingTypeDisplacement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBearingTypeDisplacementEnum::operator Ifc4x2::IfcBearingTypeDisplacementEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBearingTypeEnum::declaration() const { return *IFC4X2_IfcBearingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBearingTypeEnum::Class() { return *IFC4X2_IfcBearingTypeEnum_type; }
@@ -1942,6 +2018,10 @@ Ifc4x2::IfcBearingTypeEnum::Value Ifc4x2::IfcBearingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBearingTypeEnum::operator Ifc4x2::IfcBearingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBenchmarkEnum::declaration() const { return *IFC4X2_IfcBenchmarkEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBenchmarkEnum::Class() { return *IFC4X2_IfcBenchmarkEnum_type; }
@@ -1981,6 +2061,10 @@ Ifc4x2::IfcBenchmarkEnum::Value Ifc4x2::IfcBenchmarkEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBenchmarkEnum::operator Ifc4x2::IfcBenchmarkEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBoilerTypeEnum::declaration() const { return *IFC4X2_IfcBoilerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBoilerTypeEnum::Class() { return *IFC4X2_IfcBoilerTypeEnum_type; }
@@ -2014,6 +2098,10 @@ Ifc4x2::IfcBoilerTypeEnum::Value Ifc4x2::IfcBoilerTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBoilerTypeEnum::operator Ifc4x2::IfcBoilerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBooleanOperator::declaration() const { return *IFC4X2_IfcBooleanOperator_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBooleanOperator::Class() { return *IFC4X2_IfcBooleanOperator_type; }
@@ -2046,6 +2134,10 @@ Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanOperator::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBooleanOperator::operator Ifc4x2::IfcBooleanOperator::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBridgePartTypeEnum::declaration() const { return *IFC4X2_IfcBridgePartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBridgePartTypeEnum::Class() { return *IFC4X2_IfcBridgePartTypeEnum_type; }
@@ -2087,6 +2179,10 @@ Ifc4x2::IfcBridgePartTypeEnum::Value Ifc4x2::IfcBridgePartTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBridgePartTypeEnum::operator Ifc4x2::IfcBridgePartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBridgeTypeEnum::declaration() const { return *IFC4X2_IfcBridgeTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBridgeTypeEnum::Class() { return *IFC4X2_IfcBridgeTypeEnum_type; }
@@ -2126,6 +2222,10 @@ Ifc4x2::IfcBridgeTypeEnum::Value Ifc4x2::IfcBridgeTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBridgeTypeEnum::operator Ifc4x2::IfcBridgeTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBuildingElementPartTypeEnum::declaration() const { return *IFC4X2_IfcBuildingElementPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBuildingElementPartTypeEnum::Class() { return *IFC4X2_IfcBuildingElementPartTypeEnum_type; }
@@ -2160,6 +2260,10 @@ Ifc4x2::IfcBuildingElementPartTypeEnum::Value Ifc4x2::IfcBuildingElementPartType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBuildingElementPartTypeEnum::operator Ifc4x2::IfcBuildingElementPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC4X2_IfcBuildingElementProxyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBuildingElementProxyTypeEnum::Class() { return *IFC4X2_IfcBuildingElementProxyTypeEnum_type; }
@@ -2196,6 +2300,10 @@ Ifc4x2::IfcBuildingElementProxyTypeEnum::Value Ifc4x2::IfcBuildingElementProxyTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBuildingElementProxyTypeEnum::operator Ifc4x2::IfcBuildingElementProxyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBuildingSystemTypeEnum::declaration() const { return *IFC4X2_IfcBuildingSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBuildingSystemTypeEnum::Class() { return *IFC4X2_IfcBuildingSystemTypeEnum_type; }
@@ -2235,6 +2343,10 @@ Ifc4x2::IfcBuildingSystemTypeEnum::Value Ifc4x2::IfcBuildingSystemTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBuildingSystemTypeEnum::operator Ifc4x2::IfcBuildingSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcBurnerTypeEnum::declaration() const { return *IFC4X2_IfcBurnerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcBurnerTypeEnum::Class() { return *IFC4X2_IfcBurnerTypeEnum_type; }
@@ -2266,6 +2378,10 @@ Ifc4x2::IfcBurnerTypeEnum::Value Ifc4x2::IfcBurnerTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcBurnerTypeEnum::operator Ifc4x2::IfcBurnerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC4X2_IfcCableCarrierFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCableCarrierFittingTypeEnum::Class() { return *IFC4X2_IfcCableCarrierFittingTypeEnum_type; }
@@ -2301,6 +2417,10 @@ Ifc4x2::IfcCableCarrierFittingTypeEnum::Value Ifc4x2::IfcCableCarrierFittingType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCableCarrierFittingTypeEnum::operator Ifc4x2::IfcCableCarrierFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC4X2_IfcCableCarrierSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC4X2_IfcCableCarrierSegmentTypeEnum_type; }
@@ -2336,6 +2456,10 @@ Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x2::IfcCableCarrierSegmentType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCableCarrierSegmentTypeEnum::operator Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCableFittingTypeEnum::declaration() const { return *IFC4X2_IfcCableFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCableFittingTypeEnum::Class() { return *IFC4X2_IfcCableFittingTypeEnum_type; }
@@ -2372,6 +2496,10 @@ Ifc4x2::IfcCableFittingTypeEnum::Value Ifc4x2::IfcCableFittingTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCableFittingTypeEnum::operator Ifc4x2::IfcCableFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCableSegmentTypeEnum::declaration() const { return *IFC4X2_IfcCableSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCableSegmentTypeEnum::Class() { return *IFC4X2_IfcCableSegmentTypeEnum_type; }
@@ -2407,6 +2535,10 @@ Ifc4x2::IfcCableSegmentTypeEnum::Value Ifc4x2::IfcCableSegmentTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCableSegmentTypeEnum::operator Ifc4x2::IfcCableSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCaissonFoundationTypeEnum::declaration() const { return *IFC4X2_IfcCaissonFoundationTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCaissonFoundationTypeEnum::Class() { return *IFC4X2_IfcCaissonFoundationTypeEnum_type; }
@@ -2440,6 +2572,10 @@ Ifc4x2::IfcCaissonFoundationTypeEnum::Value Ifc4x2::IfcCaissonFoundationTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCaissonFoundationTypeEnum::operator Ifc4x2::IfcCaissonFoundationTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcChangeActionEnum::declaration() const { return *IFC4X2_IfcChangeActionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcChangeActionEnum::Class() { return *IFC4X2_IfcChangeActionEnum_type; }
@@ -2474,6 +2610,10 @@ Ifc4x2::IfcChangeActionEnum::Value Ifc4x2::IfcChangeActionEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcChangeActionEnum::operator Ifc4x2::IfcChangeActionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcChillerTypeEnum::declaration() const { return *IFC4X2_IfcChillerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcChillerTypeEnum::Class() { return *IFC4X2_IfcChillerTypeEnum_type; }
@@ -2508,6 +2648,10 @@ Ifc4x2::IfcChillerTypeEnum::Value Ifc4x2::IfcChillerTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcChillerTypeEnum::operator Ifc4x2::IfcChillerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcChimneyTypeEnum::declaration() const { return *IFC4X2_IfcChimneyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcChimneyTypeEnum::Class() { return *IFC4X2_IfcChimneyTypeEnum_type; }
@@ -2539,6 +2683,10 @@ Ifc4x2::IfcChimneyTypeEnum::Value Ifc4x2::IfcChimneyTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcChimneyTypeEnum::operator Ifc4x2::IfcChimneyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCoilTypeEnum::declaration() const { return *IFC4X2_IfcCoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCoilTypeEnum::Class() { return *IFC4X2_IfcCoilTypeEnum_type; }
@@ -2577,6 +2725,10 @@ Ifc4x2::IfcCoilTypeEnum::Value Ifc4x2::IfcCoilTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCoilTypeEnum::operator Ifc4x2::IfcCoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcColumnTypeEnum::declaration() const { return *IFC4X2_IfcColumnTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcColumnTypeEnum::Class() { return *IFC4X2_IfcColumnTypeEnum_type; }
@@ -2613,6 +2765,10 @@ Ifc4x2::IfcColumnTypeEnum::Value Ifc4x2::IfcColumnTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcColumnTypeEnum::operator Ifc4x2::IfcColumnTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCommunicationsApplianceTypeEnum::declaration() const { return *IFC4X2_IfcCommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class() { return *IFC4X2_IfcCommunicationsApplianceTypeEnum_type; }
@@ -2656,6 +2812,10 @@ Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x2::IfcCommunicationsAppli
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCommunicationsApplianceTypeEnum::operator Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *IFC4X2_IfcComplexPropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class() { return *IFC4X2_IfcComplexPropertyTemplateTypeEnum_type; }
@@ -2687,6 +2847,10 @@ Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x2::IfcComplexPropertyTemp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCompressorTypeEnum::declaration() const { return *IFC4X2_IfcCompressorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCompressorTypeEnum::Class() { return *IFC4X2_IfcCompressorTypeEnum_type; }
@@ -2733,6 +2897,10 @@ Ifc4x2::IfcCompressorTypeEnum::Value Ifc4x2::IfcCompressorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCompressorTypeEnum::operator Ifc4x2::IfcCompressorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCondenserTypeEnum::declaration() const { return *IFC4X2_IfcCondenserTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCondenserTypeEnum::Class() { return *IFC4X2_IfcCondenserTypeEnum_type; }
@@ -2771,6 +2939,10 @@ Ifc4x2::IfcCondenserTypeEnum::Value Ifc4x2::IfcCondenserTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCondenserTypeEnum::operator Ifc4x2::IfcCondenserTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcConnectionTypeEnum::declaration() const { return *IFC4X2_IfcConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcConnectionTypeEnum::Class() { return *IFC4X2_IfcConnectionTypeEnum_type; }
@@ -2804,6 +2976,10 @@ Ifc4x2::IfcConnectionTypeEnum::Value Ifc4x2::IfcConnectionTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcConnectionTypeEnum::operator Ifc4x2::IfcConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcConstraintEnum::declaration() const { return *IFC4X2_IfcConstraintEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcConstraintEnum::Class() { return *IFC4X2_IfcConstraintEnum_type; }
@@ -2838,6 +3014,10 @@ Ifc4x2::IfcConstraintEnum::Value Ifc4x2::IfcConstraintEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcConstraintEnum::operator Ifc4x2::IfcConstraintEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class() { return *IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type; }
@@ -2877,6 +3057,10 @@ Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x2::IfcConstructionE
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *IFC4X2_IfcConstructionMaterialResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class() { return *IFC4X2_IfcConstructionMaterialResourceTypeEnum_type; }
@@ -2917,6 +3101,10 @@ Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x2::IfcConstructionMa
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcConstructionProductResourceTypeEnum::declaration() const { return *IFC4X2_IfcConstructionProductResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcConstructionProductResourceTypeEnum::Class() { return *IFC4X2_IfcConstructionProductResourceTypeEnum_type; }
@@ -2950,6 +3138,10 @@ Ifc4x2::IfcConstructionProductResourceTypeEnum::Value Ifc4x2::IfcConstructionPro
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcConstructionProductResourceTypeEnum::operator Ifc4x2::IfcConstructionProductResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcControllerTypeEnum::declaration() const { return *IFC4X2_IfcControllerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcControllerTypeEnum::Class() { return *IFC4X2_IfcControllerTypeEnum_type; }
@@ -2986,6 +3178,10 @@ Ifc4x2::IfcControllerTypeEnum::Value Ifc4x2::IfcControllerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcControllerTypeEnum::operator Ifc4x2::IfcControllerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCooledBeamTypeEnum::declaration() const { return *IFC4X2_IfcCooledBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCooledBeamTypeEnum::Class() { return *IFC4X2_IfcCooledBeamTypeEnum_type; }
@@ -3019,6 +3215,10 @@ Ifc4x2::IfcCooledBeamTypeEnum::Value Ifc4x2::IfcCooledBeamTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCooledBeamTypeEnum::operator Ifc4x2::IfcCooledBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCoolingTowerTypeEnum::declaration() const { return *IFC4X2_IfcCoolingTowerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCoolingTowerTypeEnum::Class() { return *IFC4X2_IfcCoolingTowerTypeEnum_type; }
@@ -3053,6 +3253,10 @@ Ifc4x2::IfcCoolingTowerTypeEnum::Value Ifc4x2::IfcCoolingTowerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCoolingTowerTypeEnum::operator Ifc4x2::IfcCoolingTowerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCostItemTypeEnum::declaration() const { return *IFC4X2_IfcCostItemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCostItemTypeEnum::Class() { return *IFC4X2_IfcCostItemTypeEnum_type; }
@@ -3084,6 +3288,10 @@ Ifc4x2::IfcCostItemTypeEnum::Value Ifc4x2::IfcCostItemTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCostItemTypeEnum::operator Ifc4x2::IfcCostItemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCostScheduleTypeEnum::declaration() const { return *IFC4X2_IfcCostScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCostScheduleTypeEnum::Class() { return *IFC4X2_IfcCostScheduleTypeEnum_type; }
@@ -3122,6 +3330,10 @@ Ifc4x2::IfcCostScheduleTypeEnum::Value Ifc4x2::IfcCostScheduleTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCostScheduleTypeEnum::operator Ifc4x2::IfcCostScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCoveringTypeEnum::declaration() const { return *IFC4X2_IfcCoveringTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCoveringTypeEnum::Class() { return *IFC4X2_IfcCoveringTypeEnum_type; }
@@ -3164,6 +3376,10 @@ Ifc4x2::IfcCoveringTypeEnum::Value Ifc4x2::IfcCoveringTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCoveringTypeEnum::operator Ifc4x2::IfcCoveringTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCrewResourceTypeEnum::declaration() const { return *IFC4X2_IfcCrewResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCrewResourceTypeEnum::Class() { return *IFC4X2_IfcCrewResourceTypeEnum_type; }
@@ -3197,6 +3413,10 @@ Ifc4x2::IfcCrewResourceTypeEnum::Value Ifc4x2::IfcCrewResourceTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCrewResourceTypeEnum::operator Ifc4x2::IfcCrewResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCurtainWallTypeEnum::declaration() const { return *IFC4X2_IfcCurtainWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCurtainWallTypeEnum::Class() { return *IFC4X2_IfcCurtainWallTypeEnum_type; }
@@ -3228,6 +3448,10 @@ Ifc4x2::IfcCurtainWallTypeEnum::Value Ifc4x2::IfcCurtainWallTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCurtainWallTypeEnum::operator Ifc4x2::IfcCurtainWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcCurveInterpolationEnum::declaration() const { return *IFC4X2_IfcCurveInterpolationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcCurveInterpolationEnum::Class() { return *IFC4X2_IfcCurveInterpolationEnum_type; }
@@ -3261,6 +3485,10 @@ Ifc4x2::IfcCurveInterpolationEnum::Value Ifc4x2::IfcCurveInterpolationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcCurveInterpolationEnum::operator Ifc4x2::IfcCurveInterpolationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDamperTypeEnum::declaration() const { return *IFC4X2_IfcDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDamperTypeEnum::Class() { return *IFC4X2_IfcDamperTypeEnum_type; }
@@ -3303,6 +3531,10 @@ Ifc4x2::IfcDamperTypeEnum::Value Ifc4x2::IfcDamperTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDamperTypeEnum::operator Ifc4x2::IfcDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDataOriginEnum::declaration() const { return *IFC4X2_IfcDataOriginEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDataOriginEnum::Class() { return *IFC4X2_IfcDataOriginEnum_type; }
@@ -3337,6 +3569,10 @@ Ifc4x2::IfcDataOriginEnum::Value Ifc4x2::IfcDataOriginEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDataOriginEnum::operator Ifc4x2::IfcDataOriginEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDerivedUnitEnum::declaration() const { return *IFC4X2_IfcDerivedUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDerivedUnitEnum::Class() { return *IFC4X2_IfcDerivedUnitEnum_type; }
@@ -3419,6 +3655,10 @@ Ifc4x2::IfcDerivedUnitEnum::Value Ifc4x2::IfcDerivedUnitEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDerivedUnitEnum::operator Ifc4x2::IfcDerivedUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDirectionSenseEnum::declaration() const { return *IFC4X2_IfcDirectionSenseEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDirectionSenseEnum::Class() { return *IFC4X2_IfcDirectionSenseEnum_type; }
@@ -3450,6 +3690,10 @@ Ifc4x2::IfcDirectionSenseEnum::Value Ifc4x2::IfcDirectionSenseEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDirectionSenseEnum::operator Ifc4x2::IfcDirectionSenseEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDiscreteAccessoryTypeEnum::declaration() const { return *IFC4X2_IfcDiscreteAccessoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class() { return *IFC4X2_IfcDiscreteAccessoryTypeEnum_type; }
@@ -3485,6 +3729,10 @@ Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x2::IfcDiscreteAccessoryTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDiscreteAccessoryTypeEnum::operator Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC4X2_IfcDistributionChamberElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDistributionChamberElementTypeEnum::Class() { return *IFC4X2_IfcDistributionChamberElementTypeEnum_type; }
@@ -3524,6 +3772,10 @@ Ifc4x2::IfcDistributionChamberElementTypeEnum::Value Ifc4x2::IfcDistributionCham
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDistributionChamberElementTypeEnum::operator Ifc4x2::IfcDistributionChamberElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDistributionPortTypeEnum::declaration() const { return *IFC4X2_IfcDistributionPortTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDistributionPortTypeEnum::Class() { return *IFC4X2_IfcDistributionPortTypeEnum_type; }
@@ -3559,6 +3811,10 @@ Ifc4x2::IfcDistributionPortTypeEnum::Value Ifc4x2::IfcDistributionPortTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDistributionPortTypeEnum::operator Ifc4x2::IfcDistributionPortTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDistributionSystemEnum::declaration() const { return *IFC4X2_IfcDistributionSystemEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDistributionSystemEnum::Class() { return *IFC4X2_IfcDistributionSystemEnum_type; }
@@ -3632,6 +3888,10 @@ Ifc4x2::IfcDistributionSystemEnum::Value Ifc4x2::IfcDistributionSystemEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDistributionSystemEnum::operator Ifc4x2::IfcDistributionSystemEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDocumentConfidentialityEnum::declaration() const { return *IFC4X2_IfcDocumentConfidentialityEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDocumentConfidentialityEnum::Class() { return *IFC4X2_IfcDocumentConfidentialityEnum_type; }
@@ -3667,6 +3927,10 @@ Ifc4x2::IfcDocumentConfidentialityEnum::Value Ifc4x2::IfcDocumentConfidentiality
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDocumentConfidentialityEnum::operator Ifc4x2::IfcDocumentConfidentialityEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDocumentStatusEnum::declaration() const { return *IFC4X2_IfcDocumentStatusEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDocumentStatusEnum::Class() { return *IFC4X2_IfcDocumentStatusEnum_type; }
@@ -3701,6 +3965,10 @@ Ifc4x2::IfcDocumentStatusEnum::Value Ifc4x2::IfcDocumentStatusEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDocumentStatusEnum::operator Ifc4x2::IfcDocumentStatusEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDoorPanelOperationEnum::declaration() const { return *IFC4X2_IfcDoorPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDoorPanelOperationEnum::Class() { return *IFC4X2_IfcDoorPanelOperationEnum_type; }
@@ -3739,6 +4007,10 @@ Ifc4x2::IfcDoorPanelOperationEnum::Value Ifc4x2::IfcDoorPanelOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDoorPanelOperationEnum::operator Ifc4x2::IfcDoorPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDoorPanelPositionEnum::declaration() const { return *IFC4X2_IfcDoorPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDoorPanelPositionEnum::Class() { return *IFC4X2_IfcDoorPanelPositionEnum_type; }
@@ -3772,6 +4044,10 @@ Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelPositionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDoorPanelPositionEnum::operator Ifc4x2::IfcDoorPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDoorStyleConstructionEnum::declaration() const { return *IFC4X2_IfcDoorStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDoorStyleConstructionEnum::Class() { return *IFC4X2_IfcDoorStyleConstructionEnum_type; }
@@ -3810,6 +4086,10 @@ Ifc4x2::IfcDoorStyleConstructionEnum::Value Ifc4x2::IfcDoorStyleConstructionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDoorStyleConstructionEnum::operator Ifc4x2::IfcDoorStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDoorStyleOperationEnum::declaration() const { return *IFC4X2_IfcDoorStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDoorStyleOperationEnum::Class() { return *IFC4X2_IfcDoorStyleOperationEnum_type; }
@@ -3857,6 +4137,10 @@ Ifc4x2::IfcDoorStyleOperationEnum::Value Ifc4x2::IfcDoorStyleOperationEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDoorStyleOperationEnum::operator Ifc4x2::IfcDoorStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDoorTypeEnum::declaration() const { return *IFC4X2_IfcDoorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDoorTypeEnum::Class() { return *IFC4X2_IfcDoorTypeEnum_type; }
@@ -3891,6 +4175,10 @@ Ifc4x2::IfcDoorTypeEnum::Value Ifc4x2::IfcDoorTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDoorTypeEnum::operator Ifc4x2::IfcDoorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDoorTypeOperationEnum::declaration() const { return *IFC4X2_IfcDoorTypeOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDoorTypeOperationEnum::Class() { return *IFC4X2_IfcDoorTypeOperationEnum_type; }
@@ -3940,6 +4228,10 @@ Ifc4x2::IfcDoorTypeOperationEnum::Value Ifc4x2::IfcDoorTypeOperationEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDoorTypeOperationEnum::operator Ifc4x2::IfcDoorTypeOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDuctFittingTypeEnum::declaration() const { return *IFC4X2_IfcDuctFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDuctFittingTypeEnum::Class() { return *IFC4X2_IfcDuctFittingTypeEnum_type; }
@@ -3978,6 +4270,10 @@ Ifc4x2::IfcDuctFittingTypeEnum::Value Ifc4x2::IfcDuctFittingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDuctFittingTypeEnum::operator Ifc4x2::IfcDuctFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDuctSegmentTypeEnum::declaration() const { return *IFC4X2_IfcDuctSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDuctSegmentTypeEnum::Class() { return *IFC4X2_IfcDuctSegmentTypeEnum_type; }
@@ -4011,6 +4307,10 @@ Ifc4x2::IfcDuctSegmentTypeEnum::Value Ifc4x2::IfcDuctSegmentTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDuctSegmentTypeEnum::operator Ifc4x2::IfcDuctSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcDuctSilencerTypeEnum::declaration() const { return *IFC4X2_IfcDuctSilencerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcDuctSilencerTypeEnum::Class() { return *IFC4X2_IfcDuctSilencerTypeEnum_type; }
@@ -4045,6 +4345,10 @@ Ifc4x2::IfcDuctSilencerTypeEnum::Value Ifc4x2::IfcDuctSilencerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcDuctSilencerTypeEnum::operator Ifc4x2::IfcDuctSilencerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElectricApplianceTypeEnum::declaration() const { return *IFC4X2_IfcElectricApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElectricApplianceTypeEnum::Class() { return *IFC4X2_IfcElectricApplianceTypeEnum_type; }
@@ -4092,6 +4396,10 @@ Ifc4x2::IfcElectricApplianceTypeEnum::Value Ifc4x2::IfcElectricApplianceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElectricApplianceTypeEnum::operator Ifc4x2::IfcElectricApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElectricDistributionBoardTypeEnum::declaration() const { return *IFC4X2_IfcElectricDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class() { return *IFC4X2_IfcElectricDistributionBoardTypeEnum_type; }
@@ -4127,6 +4435,10 @@ Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x2::IfcElectricDistribut
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElectricDistributionBoardTypeEnum::operator Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_type; }
@@ -4163,6 +4475,10 @@ Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x2::IfcElectricFlowStora
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC4X2_IfcElectricGeneratorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElectricGeneratorTypeEnum::Class() { return *IFC4X2_IfcElectricGeneratorTypeEnum_type; }
@@ -4197,6 +4513,10 @@ Ifc4x2::IfcElectricGeneratorTypeEnum::Value Ifc4x2::IfcElectricGeneratorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElectricGeneratorTypeEnum::operator Ifc4x2::IfcElectricGeneratorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElectricMotorTypeEnum::declaration() const { return *IFC4X2_IfcElectricMotorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElectricMotorTypeEnum::Class() { return *IFC4X2_IfcElectricMotorTypeEnum_type; }
@@ -4233,6 +4553,10 @@ Ifc4x2::IfcElectricMotorTypeEnum::Value Ifc4x2::IfcElectricMotorTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElectricMotorTypeEnum::operator Ifc4x2::IfcElectricMotorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC4X2_IfcElectricTimeControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElectricTimeControlTypeEnum::Class() { return *IFC4X2_IfcElectricTimeControlTypeEnum_type; }
@@ -4267,6 +4591,10 @@ Ifc4x2::IfcElectricTimeControlTypeEnum::Value Ifc4x2::IfcElectricTimeControlType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElectricTimeControlTypeEnum::operator Ifc4x2::IfcElectricTimeControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElementAssemblyTypeEnum::declaration() const { return *IFC4X2_IfcElementAssemblyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElementAssemblyTypeEnum::Class() { return *IFC4X2_IfcElementAssemblyTypeEnum_type; }
@@ -4312,6 +4640,10 @@ Ifc4x2::IfcElementAssemblyTypeEnum::Value Ifc4x2::IfcElementAssemblyTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElementAssemblyTypeEnum::operator Ifc4x2::IfcElementAssemblyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcElementCompositionEnum::declaration() const { return *IFC4X2_IfcElementCompositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcElementCompositionEnum::Class() { return *IFC4X2_IfcElementCompositionEnum_type; }
@@ -4344,6 +4676,10 @@ Ifc4x2::IfcElementCompositionEnum::Value Ifc4x2::IfcElementCompositionEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcElementCompositionEnum::operator Ifc4x2::IfcElementCompositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcEngineTypeEnum::declaration() const { return *IFC4X2_IfcEngineTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcEngineTypeEnum::Class() { return *IFC4X2_IfcEngineTypeEnum_type; }
@@ -4377,6 +4713,10 @@ Ifc4x2::IfcEngineTypeEnum::Value Ifc4x2::IfcEngineTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcEngineTypeEnum::operator Ifc4x2::IfcEngineTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC4X2_IfcEvaporativeCoolerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC4X2_IfcEvaporativeCoolerTypeEnum_type; }
@@ -4417,6 +4757,10 @@ Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x2::IfcEvaporativeCoolerTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcEvaporativeCoolerTypeEnum::operator Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcEvaporatorTypeEnum::declaration() const { return *IFC4X2_IfcEvaporatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcEvaporatorTypeEnum::Class() { return *IFC4X2_IfcEvaporatorTypeEnum_type; }
@@ -4454,6 +4798,10 @@ Ifc4x2::IfcEvaporatorTypeEnum::Value Ifc4x2::IfcEvaporatorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcEvaporatorTypeEnum::operator Ifc4x2::IfcEvaporatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcEventTriggerTypeEnum::declaration() const { return *IFC4X2_IfcEventTriggerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcEventTriggerTypeEnum::Class() { return *IFC4X2_IfcEventTriggerTypeEnum_type; }
@@ -4489,6 +4837,10 @@ Ifc4x2::IfcEventTriggerTypeEnum::Value Ifc4x2::IfcEventTriggerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcEventTriggerTypeEnum::operator Ifc4x2::IfcEventTriggerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcEventTypeEnum::declaration() const { return *IFC4X2_IfcEventTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcEventTypeEnum::Class() { return *IFC4X2_IfcEventTypeEnum_type; }
@@ -4523,6 +4875,10 @@ Ifc4x2::IfcEventTypeEnum::Value Ifc4x2::IfcEventTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcEventTypeEnum::operator Ifc4x2::IfcEventTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcExternalSpatialElementTypeEnum::declaration() const { return *IFC4X2_IfcExternalSpatialElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcExternalSpatialElementTypeEnum::Class() { return *IFC4X2_IfcExternalSpatialElementTypeEnum_type; }
@@ -4558,6 +4914,10 @@ Ifc4x2::IfcExternalSpatialElementTypeEnum::Value Ifc4x2::IfcExternalSpatialEleme
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcExternalSpatialElementTypeEnum::operator Ifc4x2::IfcExternalSpatialElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFanTypeEnum::declaration() const { return *IFC4X2_IfcFanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFanTypeEnum::Class() { return *IFC4X2_IfcFanTypeEnum_type; }
@@ -4596,6 +4956,10 @@ Ifc4x2::IfcFanTypeEnum::Value Ifc4x2::IfcFanTypeEnum::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFanTypeEnum::operator Ifc4x2::IfcFanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFastenerTypeEnum::declaration() const { return *IFC4X2_IfcFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFastenerTypeEnum::Class() { return *IFC4X2_IfcFastenerTypeEnum_type; }
@@ -4630,6 +4994,10 @@ Ifc4x2::IfcFastenerTypeEnum::Value Ifc4x2::IfcFastenerTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFastenerTypeEnum::operator Ifc4x2::IfcFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFilterTypeEnum::declaration() const { return *IFC4X2_IfcFilterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFilterTypeEnum::Class() { return *IFC4X2_IfcFilterTypeEnum_type; }
@@ -4667,6 +5035,10 @@ Ifc4x2::IfcFilterTypeEnum::Value Ifc4x2::IfcFilterTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFilterTypeEnum::operator Ifc4x2::IfcFilterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC4X2_IfcFireSuppressionTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC4X2_IfcFireSuppressionTerminalTypeEnum_type; }
@@ -4703,6 +5075,10 @@ Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x2::IfcFireSuppressionTerm
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFlowDirectionEnum::declaration() const { return *IFC4X2_IfcFlowDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFlowDirectionEnum::Class() { return *IFC4X2_IfcFlowDirectionEnum_type; }
@@ -4736,6 +5112,10 @@ Ifc4x2::IfcFlowDirectionEnum::Value Ifc4x2::IfcFlowDirectionEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFlowDirectionEnum::operator Ifc4x2::IfcFlowDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC4X2_IfcFlowInstrumentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFlowInstrumentTypeEnum::Class() { return *IFC4X2_IfcFlowInstrumentTypeEnum_type; }
@@ -4775,6 +5155,10 @@ Ifc4x2::IfcFlowInstrumentTypeEnum::Value Ifc4x2::IfcFlowInstrumentTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFlowInstrumentTypeEnum::operator Ifc4x2::IfcFlowInstrumentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFlowMeterTypeEnum::declaration() const { return *IFC4X2_IfcFlowMeterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFlowMeterTypeEnum::Class() { return *IFC4X2_IfcFlowMeterTypeEnum_type; }
@@ -4810,6 +5194,10 @@ Ifc4x2::IfcFlowMeterTypeEnum::Value Ifc4x2::IfcFlowMeterTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFlowMeterTypeEnum::operator Ifc4x2::IfcFlowMeterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFootingTypeEnum::declaration() const { return *IFC4X2_IfcFootingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFootingTypeEnum::Class() { return *IFC4X2_IfcFootingTypeEnum_type; }
@@ -4846,6 +5234,10 @@ Ifc4x2::IfcFootingTypeEnum::Value Ifc4x2::IfcFootingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFootingTypeEnum::operator Ifc4x2::IfcFootingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcFurnitureTypeEnum::declaration() const { return *IFC4X2_IfcFurnitureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcFurnitureTypeEnum::Class() { return *IFC4X2_IfcFurnitureTypeEnum_type; }
@@ -4884,6 +5276,10 @@ Ifc4x2::IfcFurnitureTypeEnum::Value Ifc4x2::IfcFurnitureTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcFurnitureTypeEnum::operator Ifc4x2::IfcFurnitureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcGeographicElementTypeEnum::declaration() const { return *IFC4X2_IfcGeographicElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcGeographicElementTypeEnum::Class() { return *IFC4X2_IfcGeographicElementTypeEnum_type; }
@@ -4917,6 +5313,10 @@ Ifc4x2::IfcGeographicElementTypeEnum::Value Ifc4x2::IfcGeographicElementTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcGeographicElementTypeEnum::operator Ifc4x2::IfcGeographicElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcGeometricProjectionEnum::declaration() const { return *IFC4X2_IfcGeometricProjectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcGeometricProjectionEnum::Class() { return *IFC4X2_IfcGeometricProjectionEnum_type; }
@@ -4955,6 +5355,10 @@ Ifc4x2::IfcGeometricProjectionEnum::Value Ifc4x2::IfcGeometricProjectionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcGeometricProjectionEnum::operator Ifc4x2::IfcGeometricProjectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcGlobalOrLocalEnum::declaration() const { return *IFC4X2_IfcGlobalOrLocalEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcGlobalOrLocalEnum::Class() { return *IFC4X2_IfcGlobalOrLocalEnum_type; }
@@ -4986,6 +5390,10 @@ Ifc4x2::IfcGlobalOrLocalEnum::Value Ifc4x2::IfcGlobalOrLocalEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcGlobalOrLocalEnum::operator Ifc4x2::IfcGlobalOrLocalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcGridTypeEnum::declaration() const { return *IFC4X2_IfcGridTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcGridTypeEnum::Class() { return *IFC4X2_IfcGridTypeEnum_type; }
@@ -5021,6 +5429,10 @@ Ifc4x2::IfcGridTypeEnum::Value Ifc4x2::IfcGridTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcGridTypeEnum::operator Ifc4x2::IfcGridTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcHeatExchangerTypeEnum::declaration() const { return *IFC4X2_IfcHeatExchangerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcHeatExchangerTypeEnum::Class() { return *IFC4X2_IfcHeatExchangerTypeEnum_type; }
@@ -5054,6 +5466,10 @@ Ifc4x2::IfcHeatExchangerTypeEnum::Value Ifc4x2::IfcHeatExchangerTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcHeatExchangerTypeEnum::operator Ifc4x2::IfcHeatExchangerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcHumidifierTypeEnum::declaration() const { return *IFC4X2_IfcHumidifierTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcHumidifierTypeEnum::Class() { return *IFC4X2_IfcHumidifierTypeEnum_type; }
@@ -5098,6 +5514,10 @@ Ifc4x2::IfcHumidifierTypeEnum::Value Ifc4x2::IfcHumidifierTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcHumidifierTypeEnum::operator Ifc4x2::IfcHumidifierTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcInterceptorTypeEnum::declaration() const { return *IFC4X2_IfcInterceptorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcInterceptorTypeEnum::Class() { return *IFC4X2_IfcInterceptorTypeEnum_type; }
@@ -5133,6 +5553,10 @@ Ifc4x2::IfcInterceptorTypeEnum::Value Ifc4x2::IfcInterceptorTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcInterceptorTypeEnum::operator Ifc4x2::IfcInterceptorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcInternalOrExternalEnum::declaration() const { return *IFC4X2_IfcInternalOrExternalEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcInternalOrExternalEnum::Class() { return *IFC4X2_IfcInternalOrExternalEnum_type; }
@@ -5168,6 +5592,10 @@ Ifc4x2::IfcInternalOrExternalEnum::Value Ifc4x2::IfcInternalOrExternalEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcInternalOrExternalEnum::operator Ifc4x2::IfcInternalOrExternalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcInventoryTypeEnum::declaration() const { return *IFC4X2_IfcInventoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcInventoryTypeEnum::Class() { return *IFC4X2_IfcInventoryTypeEnum_type; }
@@ -5202,6 +5630,10 @@ Ifc4x2::IfcInventoryTypeEnum::Value Ifc4x2::IfcInventoryTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcInventoryTypeEnum::operator Ifc4x2::IfcInventoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcJunctionBoxTypeEnum::declaration() const { return *IFC4X2_IfcJunctionBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcJunctionBoxTypeEnum::Class() { return *IFC4X2_IfcJunctionBoxTypeEnum_type; }
@@ -5235,6 +5667,10 @@ Ifc4x2::IfcJunctionBoxTypeEnum::Value Ifc4x2::IfcJunctionBoxTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcJunctionBoxTypeEnum::operator Ifc4x2::IfcJunctionBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcKnotType::declaration() const { return *IFC4X2_IfcKnotType_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcKnotType::Class() { return *IFC4X2_IfcKnotType_type; }
@@ -5268,6 +5704,10 @@ Ifc4x2::IfcKnotType::Value Ifc4x2::IfcKnotType::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcKnotType::operator Ifc4x2::IfcKnotType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLaborResourceTypeEnum::declaration() const { return *IFC4X2_IfcLaborResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLaborResourceTypeEnum::Class() { return *IFC4X2_IfcLaborResourceTypeEnum_type; }
@@ -5318,6 +5758,10 @@ Ifc4x2::IfcLaborResourceTypeEnum::Value Ifc4x2::IfcLaborResourceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLaborResourceTypeEnum::operator Ifc4x2::IfcLaborResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLampTypeEnum::declaration() const { return *IFC4X2_IfcLampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLampTypeEnum::Class() { return *IFC4X2_IfcLampTypeEnum_type; }
@@ -5358,6 +5802,10 @@ Ifc4x2::IfcLampTypeEnum::Value Ifc4x2::IfcLampTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLampTypeEnum::operator Ifc4x2::IfcLampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLayerSetDirectionEnum::declaration() const { return *IFC4X2_IfcLayerSetDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLayerSetDirectionEnum::Class() { return *IFC4X2_IfcLayerSetDirectionEnum_type; }
@@ -5390,6 +5838,10 @@ Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcLayerSetDirectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLayerSetDirectionEnum::operator Ifc4x2::IfcLayerSetDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLightDistributionCurveEnum::declaration() const { return *IFC4X2_IfcLightDistributionCurveEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLightDistributionCurveEnum::Class() { return *IFC4X2_IfcLightDistributionCurveEnum_type; }
@@ -5423,6 +5875,10 @@ Ifc4x2::IfcLightDistributionCurveEnum::Value Ifc4x2::IfcLightDistributionCurveEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLightDistributionCurveEnum::operator Ifc4x2::IfcLightDistributionCurveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLightEmissionSourceEnum::declaration() const { return *IFC4X2_IfcLightEmissionSourceEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLightEmissionSourceEnum::Class() { return *IFC4X2_IfcLightEmissionSourceEnum_type; }
@@ -5463,6 +5919,10 @@ Ifc4x2::IfcLightEmissionSourceEnum::Value Ifc4x2::IfcLightEmissionSourceEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLightEmissionSourceEnum::operator Ifc4x2::IfcLightEmissionSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLightFixtureTypeEnum::declaration() const { return *IFC4X2_IfcLightFixtureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLightFixtureTypeEnum::Class() { return *IFC4X2_IfcLightFixtureTypeEnum_type; }
@@ -5497,6 +5957,10 @@ Ifc4x2::IfcLightFixtureTypeEnum::Value Ifc4x2::IfcLightFixtureTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLightFixtureTypeEnum::operator Ifc4x2::IfcLightFixtureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLoadGroupTypeEnum::declaration() const { return *IFC4X2_IfcLoadGroupTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLoadGroupTypeEnum::Class() { return *IFC4X2_IfcLoadGroupTypeEnum_type; }
@@ -5531,6 +5995,10 @@ Ifc4x2::IfcLoadGroupTypeEnum::Value Ifc4x2::IfcLoadGroupTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLoadGroupTypeEnum::operator Ifc4x2::IfcLoadGroupTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcLogicalOperatorEnum::declaration() const { return *IFC4X2_IfcLogicalOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcLogicalOperatorEnum::Class() { return *IFC4X2_IfcLogicalOperatorEnum_type; }
@@ -5565,6 +6033,10 @@ Ifc4x2::IfcLogicalOperatorEnum::Value Ifc4x2::IfcLogicalOperatorEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcLogicalOperatorEnum::operator Ifc4x2::IfcLogicalOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcMechanicalFastenerTypeEnum::declaration() const { return *IFC4X2_IfcMechanicalFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcMechanicalFastenerTypeEnum::Class() { return *IFC4X2_IfcMechanicalFastenerTypeEnum_type; }
@@ -5607,6 +6079,10 @@ Ifc4x2::IfcMechanicalFastenerTypeEnum::Value Ifc4x2::IfcMechanicalFastenerTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcMechanicalFastenerTypeEnum::operator Ifc4x2::IfcMechanicalFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcMedicalDeviceTypeEnum::declaration() const { return *IFC4X2_IfcMedicalDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcMedicalDeviceTypeEnum::Class() { return *IFC4X2_IfcMedicalDeviceTypeEnum_type; }
@@ -5643,6 +6119,10 @@ Ifc4x2::IfcMedicalDeviceTypeEnum::Value Ifc4x2::IfcMedicalDeviceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcMedicalDeviceTypeEnum::operator Ifc4x2::IfcMedicalDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcMemberTypeEnum::declaration() const { return *IFC4X2_IfcMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcMemberTypeEnum::Class() { return *IFC4X2_IfcMemberTypeEnum_type; }
@@ -5691,6 +6171,10 @@ Ifc4x2::IfcMemberTypeEnum::Value Ifc4x2::IfcMemberTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcMemberTypeEnum::operator Ifc4x2::IfcMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcMotorConnectionTypeEnum::declaration() const { return *IFC4X2_IfcMotorConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcMotorConnectionTypeEnum::Class() { return *IFC4X2_IfcMotorConnectionTypeEnum_type; }
@@ -5725,6 +6209,10 @@ Ifc4x2::IfcMotorConnectionTypeEnum::Value Ifc4x2::IfcMotorConnectionTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcMotorConnectionTypeEnum::operator Ifc4x2::IfcMotorConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcNullStyle::declaration() const { return *IFC4X2_IfcNullStyle_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcNullStyle::Class() { return *IFC4X2_IfcNullStyle_type; }
@@ -5755,6 +6243,10 @@ Ifc4x2::IfcNullStyle::Value Ifc4x2::IfcNullStyle::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcNullStyle::operator Ifc4x2::IfcNullStyle::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcObjectTypeEnum::declaration() const { return *IFC4X2_IfcObjectTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcObjectTypeEnum::Class() { return *IFC4X2_IfcObjectTypeEnum_type; }
@@ -5792,6 +6284,10 @@ Ifc4x2::IfcObjectTypeEnum::Value Ifc4x2::IfcObjectTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcObjectTypeEnum::operator Ifc4x2::IfcObjectTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcObjectiveEnum::declaration() const { return *IFC4X2_IfcObjectiveEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcObjectiveEnum::Class() { return *IFC4X2_IfcObjectiveEnum_type; }
@@ -5834,6 +6330,10 @@ Ifc4x2::IfcObjectiveEnum::Value Ifc4x2::IfcObjectiveEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcObjectiveEnum::operator Ifc4x2::IfcObjectiveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcOccupantTypeEnum::declaration() const { return *IFC4X2_IfcOccupantTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcOccupantTypeEnum::Class() { return *IFC4X2_IfcOccupantTypeEnum_type; }
@@ -5872,6 +6372,10 @@ Ifc4x2::IfcOccupantTypeEnum::Value Ifc4x2::IfcOccupantTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcOccupantTypeEnum::operator Ifc4x2::IfcOccupantTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcOpeningElementTypeEnum::declaration() const { return *IFC4X2_IfcOpeningElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcOpeningElementTypeEnum::Class() { return *IFC4X2_IfcOpeningElementTypeEnum_type; }
@@ -5905,6 +6409,10 @@ Ifc4x2::IfcOpeningElementTypeEnum::Value Ifc4x2::IfcOpeningElementTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcOpeningElementTypeEnum::operator Ifc4x2::IfcOpeningElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcOutletTypeEnum::declaration() const { return *IFC4X2_IfcOutletTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcOutletTypeEnum::Class() { return *IFC4X2_IfcOutletTypeEnum_type; }
@@ -5941,6 +6449,10 @@ Ifc4x2::IfcOutletTypeEnum::Value Ifc4x2::IfcOutletTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcOutletTypeEnum::operator Ifc4x2::IfcOutletTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPerformanceHistoryTypeEnum::declaration() const { return *IFC4X2_IfcPerformanceHistoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPerformanceHistoryTypeEnum::Class() { return *IFC4X2_IfcPerformanceHistoryTypeEnum_type; }
@@ -5972,6 +6484,10 @@ Ifc4x2::IfcPerformanceHistoryTypeEnum::Value Ifc4x2::IfcPerformanceHistoryTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPerformanceHistoryTypeEnum::operator Ifc4x2::IfcPerformanceHistoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC4X2_IfcPermeableCoveringOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPermeableCoveringOperationEnum::Class() { return *IFC4X2_IfcPermeableCoveringOperationEnum_type; }
@@ -6006,6 +6522,10 @@ Ifc4x2::IfcPermeableCoveringOperationEnum::Value Ifc4x2::IfcPermeableCoveringOpe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPermeableCoveringOperationEnum::operator Ifc4x2::IfcPermeableCoveringOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPermitTypeEnum::declaration() const { return *IFC4X2_IfcPermitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPermitTypeEnum::Class() { return *IFC4X2_IfcPermitTypeEnum_type; }
@@ -6040,6 +6560,10 @@ Ifc4x2::IfcPermitTypeEnum::Value Ifc4x2::IfcPermitTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPermitTypeEnum::operator Ifc4x2::IfcPermitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC4X2_IfcPhysicalOrVirtualEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPhysicalOrVirtualEnum::Class() { return *IFC4X2_IfcPhysicalOrVirtualEnum_type; }
@@ -6072,6 +6596,10 @@ Ifc4x2::IfcPhysicalOrVirtualEnum::Value Ifc4x2::IfcPhysicalOrVirtualEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPhysicalOrVirtualEnum::operator Ifc4x2::IfcPhysicalOrVirtualEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPileConstructionEnum::declaration() const { return *IFC4X2_IfcPileConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPileConstructionEnum::Class() { return *IFC4X2_IfcPileConstructionEnum_type; }
@@ -6107,6 +6635,10 @@ Ifc4x2::IfcPileConstructionEnum::Value Ifc4x2::IfcPileConstructionEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPileConstructionEnum::operator Ifc4x2::IfcPileConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPileTypeEnum::declaration() const { return *IFC4X2_IfcPileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPileTypeEnum::Class() { return *IFC4X2_IfcPileTypeEnum_type; }
@@ -6144,6 +6676,10 @@ Ifc4x2::IfcPileTypeEnum::Value Ifc4x2::IfcPileTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPileTypeEnum::operator Ifc4x2::IfcPileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPipeFittingTypeEnum::declaration() const { return *IFC4X2_IfcPipeFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPipeFittingTypeEnum::Class() { return *IFC4X2_IfcPipeFittingTypeEnum_type; }
@@ -6182,6 +6718,10 @@ Ifc4x2::IfcPipeFittingTypeEnum::Value Ifc4x2::IfcPipeFittingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPipeFittingTypeEnum::operator Ifc4x2::IfcPipeFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPipeSegmentTypeEnum::declaration() const { return *IFC4X2_IfcPipeSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPipeSegmentTypeEnum::Class() { return *IFC4X2_IfcPipeSegmentTypeEnum_type; }
@@ -6218,6 +6758,10 @@ Ifc4x2::IfcPipeSegmentTypeEnum::Value Ifc4x2::IfcPipeSegmentTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPipeSegmentTypeEnum::operator Ifc4x2::IfcPipeSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPlateTypeEnum::declaration() const { return *IFC4X2_IfcPlateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPlateTypeEnum::Class() { return *IFC4X2_IfcPlateTypeEnum_type; }
@@ -6258,6 +6802,10 @@ Ifc4x2::IfcPlateTypeEnum::Value Ifc4x2::IfcPlateTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPlateTypeEnum::operator Ifc4x2::IfcPlateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *IFC4X2_IfcPreferredSurfaceCurveRepresentation_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class() { return *IFC4X2_IfcPreferredSurfaceCurveRepresentation_type; }
@@ -6290,6 +6838,10 @@ Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x2::IfcPreferredSurfac
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProcedureTypeEnum::declaration() const { return *IFC4X2_IfcProcedureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProcedureTypeEnum::Class() { return *IFC4X2_IfcProcedureTypeEnum_type; }
@@ -6328,6 +6880,10 @@ Ifc4x2::IfcProcedureTypeEnum::Value Ifc4x2::IfcProcedureTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProcedureTypeEnum::operator Ifc4x2::IfcProcedureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProfileTypeEnum::declaration() const { return *IFC4X2_IfcProfileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProfileTypeEnum::Class() { return *IFC4X2_IfcProfileTypeEnum_type; }
@@ -6359,6 +6915,10 @@ Ifc4x2::IfcProfileTypeEnum::Value Ifc4x2::IfcProfileTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProfileTypeEnum::operator Ifc4x2::IfcProfileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProjectOrderTypeEnum::declaration() const { return *IFC4X2_IfcProjectOrderTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProjectOrderTypeEnum::Class() { return *IFC4X2_IfcProjectOrderTypeEnum_type; }
@@ -6395,6 +6955,10 @@ Ifc4x2::IfcProjectOrderTypeEnum::Value Ifc4x2::IfcProjectOrderTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProjectOrderTypeEnum::operator Ifc4x2::IfcProjectOrderTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC4X2_IfcProjectedOrTrueLengthEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProjectedOrTrueLengthEnum::Class() { return *IFC4X2_IfcProjectedOrTrueLengthEnum_type; }
@@ -6426,6 +6990,10 @@ Ifc4x2::IfcProjectedOrTrueLengthEnum::Value Ifc4x2::IfcProjectedOrTrueLengthEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProjectedOrTrueLengthEnum::operator Ifc4x2::IfcProjectedOrTrueLengthEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProjectionElementTypeEnum::declaration() const { return *IFC4X2_IfcProjectionElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProjectionElementTypeEnum::Class() { return *IFC4X2_IfcProjectionElementTypeEnum_type; }
@@ -6459,6 +7027,10 @@ Ifc4x2::IfcProjectionElementTypeEnum::Value Ifc4x2::IfcProjectionElementTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProjectionElementTypeEnum::operator Ifc4x2::IfcProjectionElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPropertySetTemplateTypeEnum::declaration() const { return *IFC4X2_IfcPropertySetTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPropertySetTemplateTypeEnum::Class() { return *IFC4X2_IfcPropertySetTemplateTypeEnum_type; }
@@ -6496,6 +7068,10 @@ Ifc4x2::IfcPropertySetTemplateTypeEnum::Value Ifc4x2::IfcPropertySetTemplateType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPropertySetTemplateTypeEnum::operator Ifc4x2::IfcPropertySetTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
@@ -6531,6 +7107,10 @@ Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x2::IfcProtectiveDevi
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC4X2_IfcProtectiveDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcProtectiveDeviceTypeEnum::Class() { return *IFC4X2_IfcProtectiveDeviceTypeEnum_type; }
@@ -6569,6 +7149,10 @@ Ifc4x2::IfcProtectiveDeviceTypeEnum::Value Ifc4x2::IfcProtectiveDeviceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcProtectiveDeviceTypeEnum::operator Ifc4x2::IfcProtectiveDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcPumpTypeEnum::declaration() const { return *IFC4X2_IfcPumpTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcPumpTypeEnum::Class() { return *IFC4X2_IfcPumpTypeEnum_type; }
@@ -6607,6 +7191,10 @@ Ifc4x2::IfcPumpTypeEnum::Value Ifc4x2::IfcPumpTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcPumpTypeEnum::operator Ifc4x2::IfcPumpTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcRailingTypeEnum::declaration() const { return *IFC4X2_IfcRailingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcRailingTypeEnum::Class() { return *IFC4X2_IfcRailingTypeEnum_type; }
@@ -6641,6 +7229,10 @@ Ifc4x2::IfcRailingTypeEnum::Value Ifc4x2::IfcRailingTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcRailingTypeEnum::operator Ifc4x2::IfcRailingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcRampFlightTypeEnum::declaration() const { return *IFC4X2_IfcRampFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcRampFlightTypeEnum::Class() { return *IFC4X2_IfcRampFlightTypeEnum_type; }
@@ -6674,6 +7266,10 @@ Ifc4x2::IfcRampFlightTypeEnum::Value Ifc4x2::IfcRampFlightTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcRampFlightTypeEnum::operator Ifc4x2::IfcRampFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcRampTypeEnum::declaration() const { return *IFC4X2_IfcRampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcRampTypeEnum::Class() { return *IFC4X2_IfcRampTypeEnum_type; }
@@ -6711,6 +7307,10 @@ Ifc4x2::IfcRampTypeEnum::Value Ifc4x2::IfcRampTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcRampTypeEnum::operator Ifc4x2::IfcRampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcRecurrenceTypeEnum::declaration() const { return *IFC4X2_IfcRecurrenceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcRecurrenceTypeEnum::Class() { return *IFC4X2_IfcRecurrenceTypeEnum_type; }
@@ -6748,6 +7348,10 @@ Ifc4x2::IfcRecurrenceTypeEnum::Value Ifc4x2::IfcRecurrenceTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcRecurrenceTypeEnum::operator Ifc4x2::IfcRecurrenceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcReferentTypeEnum::declaration() const { return *IFC4X2_IfcReferentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcReferentTypeEnum::Class() { return *IFC4X2_IfcReferentTypeEnum_type; }
@@ -6782,6 +7386,10 @@ Ifc4x2::IfcReferentTypeEnum::Value Ifc4x2::IfcReferentTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcReferentTypeEnum::operator Ifc4x2::IfcReferentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcReflectanceMethodEnum::declaration() const { return *IFC4X2_IfcReflectanceMethodEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcReflectanceMethodEnum::Class() { return *IFC4X2_IfcReflectanceMethodEnum_type; }
@@ -6821,6 +7429,10 @@ Ifc4x2::IfcReflectanceMethodEnum::Value Ifc4x2::IfcReflectanceMethodEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcReflectanceMethodEnum::operator Ifc4x2::IfcReflectanceMethodEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarRoleEnum::declaration() const { return *IFC4X2_IfcReinforcingBarRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarRoleEnum::Class() { return *IFC4X2_IfcReinforcingBarRoleEnum_type; }
@@ -6860,6 +7472,10 @@ Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcReinforcingBarRoleEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcReinforcingBarRoleEnum::operator Ifc4x2::IfcReinforcingBarRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC4X2_IfcReinforcingBarSurfaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarSurfaceEnum::Class() { return *IFC4X2_IfcReinforcingBarSurfaceEnum_type; }
@@ -6891,6 +7507,10 @@ Ifc4x2::IfcReinforcingBarSurfaceEnum::Value Ifc4x2::IfcReinforcingBarSurfaceEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcReinforcingBarSurfaceEnum::operator Ifc4x2::IfcReinforcingBarSurfaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarTypeEnum::declaration() const { return *IFC4X2_IfcReinforcingBarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarTypeEnum::Class() { return *IFC4X2_IfcReinforcingBarTypeEnum_type; }
@@ -6931,6 +7551,10 @@ Ifc4x2::IfcReinforcingBarTypeEnum::Value Ifc4x2::IfcReinforcingBarTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcReinforcingBarTypeEnum::operator Ifc4x2::IfcReinforcingBarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingMeshTypeEnum::declaration() const { return *IFC4X2_IfcReinforcingMeshTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingMeshTypeEnum::Class() { return *IFC4X2_IfcReinforcingMeshTypeEnum_type; }
@@ -6962,6 +7586,10 @@ Ifc4x2::IfcReinforcingMeshTypeEnum::Value Ifc4x2::IfcReinforcingMeshTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcReinforcingMeshTypeEnum::operator Ifc4x2::IfcReinforcingMeshTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcRoleEnum::declaration() const { return *IFC4X2_IfcRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcRoleEnum::Class() { return *IFC4X2_IfcRoleEnum_type; }
@@ -7014,6 +7642,10 @@ Ifc4x2::IfcRoleEnum::Value Ifc4x2::IfcRoleEnum::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcRoleEnum::operator Ifc4x2::IfcRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcRoofTypeEnum::declaration() const { return *IFC4X2_IfcRoofTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcRoofTypeEnum::Class() { return *IFC4X2_IfcRoofTypeEnum_type; }
@@ -7058,6 +7690,10 @@ Ifc4x2::IfcRoofTypeEnum::Value Ifc4x2::IfcRoofTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcRoofTypeEnum::operator Ifc4x2::IfcRoofTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSIPrefix::declaration() const { return *IFC4X2_IfcSIPrefix_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSIPrefix::Class() { return *IFC4X2_IfcSIPrefix_type; }
@@ -7103,6 +7739,10 @@ Ifc4x2::IfcSIPrefix::Value Ifc4x2::IfcSIPrefix::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSIPrefix::operator Ifc4x2::IfcSIPrefix::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSIUnitName::declaration() const { return *IFC4X2_IfcSIUnitName_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSIUnitName::Class() { return *IFC4X2_IfcSIUnitName_type; }
@@ -7162,6 +7802,10 @@ Ifc4x2::IfcSIUnitName::Value Ifc4x2::IfcSIUnitName::FromString(const std::string
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSIUnitName::operator Ifc4x2::IfcSIUnitName::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC4X2_IfcSanitaryTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSanitaryTerminalTypeEnum::Class() { return *IFC4X2_IfcSanitaryTerminalTypeEnum_type; }
@@ -7203,6 +7847,10 @@ Ifc4x2::IfcSanitaryTerminalTypeEnum::Value Ifc4x2::IfcSanitaryTerminalTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSanitaryTerminalTypeEnum::operator Ifc4x2::IfcSanitaryTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSectionTypeEnum::declaration() const { return *IFC4X2_IfcSectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSectionTypeEnum::Class() { return *IFC4X2_IfcSectionTypeEnum_type; }
@@ -7234,6 +7882,10 @@ Ifc4x2::IfcSectionTypeEnum::Value Ifc4x2::IfcSectionTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSectionTypeEnum::operator Ifc4x2::IfcSectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSensorTypeEnum::declaration() const { return *IFC4X2_IfcSensorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSensorTypeEnum::Class() { return *IFC4X2_IfcSensorTypeEnum_type; }
@@ -7289,6 +7941,10 @@ Ifc4x2::IfcSensorTypeEnum::Value Ifc4x2::IfcSensorTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSensorTypeEnum::operator Ifc4x2::IfcSensorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSequenceEnum::declaration() const { return *IFC4X2_IfcSequenceEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSequenceEnum::Class() { return *IFC4X2_IfcSequenceEnum_type; }
@@ -7324,6 +7980,10 @@ Ifc4x2::IfcSequenceEnum::Value Ifc4x2::IfcSequenceEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSequenceEnum::operator Ifc4x2::IfcSequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcShadingDeviceTypeEnum::declaration() const { return *IFC4X2_IfcShadingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcShadingDeviceTypeEnum::Class() { return *IFC4X2_IfcShadingDeviceTypeEnum_type; }
@@ -7358,6 +8018,10 @@ Ifc4x2::IfcShadingDeviceTypeEnum::Value Ifc4x2::IfcShadingDeviceTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcShadingDeviceTypeEnum::operator Ifc4x2::IfcShadingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *IFC4X2_IfcSimplePropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Class() { return *IFC4X2_IfcSimplePropertyTemplateTypeEnum_type; }
@@ -7399,6 +8063,10 @@ Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x2::IfcSimplePropertyTempla
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSlabTypeEnum::declaration() const { return *IFC4X2_IfcSlabTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSlabTypeEnum::Class() { return *IFC4X2_IfcSlabTypeEnum_type; }
@@ -7438,6 +8106,10 @@ Ifc4x2::IfcSlabTypeEnum::Value Ifc4x2::IfcSlabTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSlabTypeEnum::operator Ifc4x2::IfcSlabTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSolarDeviceTypeEnum::declaration() const { return *IFC4X2_IfcSolarDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSolarDeviceTypeEnum::Class() { return *IFC4X2_IfcSolarDeviceTypeEnum_type; }
@@ -7471,6 +8143,10 @@ Ifc4x2::IfcSolarDeviceTypeEnum::Value Ifc4x2::IfcSolarDeviceTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSolarDeviceTypeEnum::operator Ifc4x2::IfcSolarDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC4X2_IfcSpaceHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSpaceHeaterTypeEnum::Class() { return *IFC4X2_IfcSpaceHeaterTypeEnum_type; }
@@ -7504,6 +8180,10 @@ Ifc4x2::IfcSpaceHeaterTypeEnum::Value Ifc4x2::IfcSpaceHeaterTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSpaceHeaterTypeEnum::operator Ifc4x2::IfcSpaceHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSpaceTypeEnum::declaration() const { return *IFC4X2_IfcSpaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSpaceTypeEnum::Class() { return *IFC4X2_IfcSpaceTypeEnum_type; }
@@ -7540,6 +8220,10 @@ Ifc4x2::IfcSpaceTypeEnum::Value Ifc4x2::IfcSpaceTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSpaceTypeEnum::operator Ifc4x2::IfcSpaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSpatialZoneTypeEnum::declaration() const { return *IFC4X2_IfcSpatialZoneTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSpatialZoneTypeEnum::Class() { return *IFC4X2_IfcSpatialZoneTypeEnum_type; }
@@ -7579,6 +8263,10 @@ Ifc4x2::IfcSpatialZoneTypeEnum::Value Ifc4x2::IfcSpatialZoneTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSpatialZoneTypeEnum::operator Ifc4x2::IfcSpatialZoneTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStackTerminalTypeEnum::declaration() const { return *IFC4X2_IfcStackTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStackTerminalTypeEnum::Class() { return *IFC4X2_IfcStackTerminalTypeEnum_type; }
@@ -7613,6 +8301,10 @@ Ifc4x2::IfcStackTerminalTypeEnum::Value Ifc4x2::IfcStackTerminalTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStackTerminalTypeEnum::operator Ifc4x2::IfcStackTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStairFlightTypeEnum::declaration() const { return *IFC4X2_IfcStairFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStairFlightTypeEnum::Class() { return *IFC4X2_IfcStairFlightTypeEnum_type; }
@@ -7649,6 +8341,10 @@ Ifc4x2::IfcStairFlightTypeEnum::Value Ifc4x2::IfcStairFlightTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStairFlightTypeEnum::operator Ifc4x2::IfcStairFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStairTypeEnum::declaration() const { return *IFC4X2_IfcStairTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStairTypeEnum::Class() { return *IFC4X2_IfcStairTypeEnum_type; }
@@ -7694,6 +8390,10 @@ Ifc4x2::IfcStairTypeEnum::Value Ifc4x2::IfcStairTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStairTypeEnum::operator Ifc4x2::IfcStairTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStateEnum::declaration() const { return *IFC4X2_IfcStateEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStateEnum::Class() { return *IFC4X2_IfcStateEnum_type; }
@@ -7728,6 +8428,10 @@ Ifc4x2::IfcStateEnum::Value Ifc4x2::IfcStateEnum::FromString(const std::string&
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStateEnum::operator Ifc4x2::IfcStateEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralCurveActivityTypeEnum::declaration() const { return *IFC4X2_IfcStructuralCurveActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class() { return *IFC4X2_IfcStructuralCurveActivityTypeEnum_type; }
@@ -7766,6 +8470,10 @@ Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveActi
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStructuralCurveActivityTypeEnum::operator Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralCurveMemberTypeEnum::declaration() const { return *IFC4X2_IfcStructuralCurveMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class() { return *IFC4X2_IfcStructuralCurveMemberTypeEnum_type; }
@@ -7802,6 +8510,10 @@ Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStructuralCurveMemberTypeEnum::operator Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *IFC4X2_IfcStructuralSurfaceActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class() { return *IFC4X2_IfcStructuralSurfaceActivityTypeEnum_type; }
@@ -7837,6 +8549,10 @@ Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurface
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *IFC4X2_IfcStructuralSurfaceMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class() { return *IFC4X2_IfcStructuralSurfaceMemberTypeEnum_type; }
@@ -7871,6 +8587,10 @@ Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x2::IfcStructuralSurfaceMe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSubContractResourceTypeEnum::declaration() const { return *IFC4X2_IfcSubContractResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSubContractResourceTypeEnum::Class() { return *IFC4X2_IfcSubContractResourceTypeEnum_type; }
@@ -7904,6 +8624,10 @@ Ifc4x2::IfcSubContractResourceTypeEnum::Value Ifc4x2::IfcSubContractResourceType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSubContractResourceTypeEnum::operator Ifc4x2::IfcSubContractResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSurfaceFeatureTypeEnum::declaration() const { return *IFC4X2_IfcSurfaceFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSurfaceFeatureTypeEnum::Class() { return *IFC4X2_IfcSurfaceFeatureTypeEnum_type; }
@@ -7939,6 +8663,10 @@ Ifc4x2::IfcSurfaceFeatureTypeEnum::Value Ifc4x2::IfcSurfaceFeatureTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSurfaceFeatureTypeEnum::operator Ifc4x2::IfcSurfaceFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSurfaceSide::declaration() const { return *IFC4X2_IfcSurfaceSide_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSurfaceSide::Class() { return *IFC4X2_IfcSurfaceSide_type; }
@@ -7971,6 +8699,10 @@ Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceSide::FromString(const std::stri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSurfaceSide::operator Ifc4x2::IfcSurfaceSide::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC4X2_IfcSwitchingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSwitchingDeviceTypeEnum::Class() { return *IFC4X2_IfcSwitchingDeviceTypeEnum_type; }
@@ -8011,6 +8743,10 @@ Ifc4x2::IfcSwitchingDeviceTypeEnum::Value Ifc4x2::IfcSwitchingDeviceTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSwitchingDeviceTypeEnum::operator Ifc4x2::IfcSwitchingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcSystemFurnitureElementTypeEnum::declaration() const { return *IFC4X2_IfcSystemFurnitureElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class() { return *IFC4X2_IfcSystemFurnitureElementTypeEnum_type; }
@@ -8044,6 +8780,10 @@ Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value Ifc4x2::IfcSystemFurnitureEleme
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcSystemFurnitureElementTypeEnum::operator Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTankTypeEnum::declaration() const { return *IFC4X2_IfcTankTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTankTypeEnum::Class() { return *IFC4X2_IfcTankTypeEnum_type; }
@@ -8082,6 +8822,10 @@ Ifc4x2::IfcTankTypeEnum::Value Ifc4x2::IfcTankTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTankTypeEnum::operator Ifc4x2::IfcTankTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTaskDurationEnum::declaration() const { return *IFC4X2_IfcTaskDurationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTaskDurationEnum::Class() { return *IFC4X2_IfcTaskDurationEnum_type; }
@@ -8114,6 +8858,10 @@ Ifc4x2::IfcTaskDurationEnum::Value Ifc4x2::IfcTaskDurationEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTaskDurationEnum::operator Ifc4x2::IfcTaskDurationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTaskTypeEnum::declaration() const { return *IFC4X2_IfcTaskTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTaskTypeEnum::Class() { return *IFC4X2_IfcTaskTypeEnum_type; }
@@ -8157,6 +8905,10 @@ Ifc4x2::IfcTaskTypeEnum::Value Ifc4x2::IfcTaskTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTaskTypeEnum::operator Ifc4x2::IfcTaskTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTendonAnchorTypeEnum::declaration() const { return *IFC4X2_IfcTendonAnchorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTendonAnchorTypeEnum::Class() { return *IFC4X2_IfcTendonAnchorTypeEnum_type; }
@@ -8191,6 +8943,10 @@ Ifc4x2::IfcTendonAnchorTypeEnum::Value Ifc4x2::IfcTendonAnchorTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTendonAnchorTypeEnum::operator Ifc4x2::IfcTendonAnchorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTendonConduitTypeEnum::declaration() const { return *IFC4X2_IfcTendonConduitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTendonConduitTypeEnum::Class() { return *IFC4X2_IfcTendonConduitTypeEnum_type; }
@@ -8227,6 +8983,10 @@ Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduitTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTendonConduitTypeEnum::operator Ifc4x2::IfcTendonConduitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTendonTypeEnum::declaration() const { return *IFC4X2_IfcTendonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTendonTypeEnum::Class() { return *IFC4X2_IfcTendonTypeEnum_type; }
@@ -8262,6 +9022,10 @@ Ifc4x2::IfcTendonTypeEnum::Value Ifc4x2::IfcTendonTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTendonTypeEnum::operator Ifc4x2::IfcTendonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTextPath::declaration() const { return *IFC4X2_IfcTextPath_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTextPath::Class() { return *IFC4X2_IfcTextPath_type; }
@@ -8295,6 +9059,10 @@ Ifc4x2::IfcTextPath::Value Ifc4x2::IfcTextPath::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTextPath::operator Ifc4x2::IfcTextPath::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC4X2_IfcTimeSeriesDataTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTimeSeriesDataTypeEnum::Class() { return *IFC4X2_IfcTimeSeriesDataTypeEnum_type; }
@@ -8331,6 +9099,10 @@ Ifc4x2::IfcTimeSeriesDataTypeEnum::Value Ifc4x2::IfcTimeSeriesDataTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTimeSeriesDataTypeEnum::operator Ifc4x2::IfcTimeSeriesDataTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTransformerTypeEnum::declaration() const { return *IFC4X2_IfcTransformerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTransformerTypeEnum::Class() { return *IFC4X2_IfcTransformerTypeEnum_type; }
@@ -8367,6 +9139,10 @@ Ifc4x2::IfcTransformerTypeEnum::Value Ifc4x2::IfcTransformerTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTransformerTypeEnum::operator Ifc4x2::IfcTransformerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTransitionCode::declaration() const { return *IFC4X2_IfcTransitionCode_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTransitionCode::Class() { return *IFC4X2_IfcTransitionCode_type; }
@@ -8400,6 +9176,10 @@ Ifc4x2::IfcTransitionCode::Value Ifc4x2::IfcTransitionCode::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTransitionCode::operator Ifc4x2::IfcTransitionCode::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTransitionCurveType::declaration() const { return *IFC4X2_IfcTransitionCurveType_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTransitionCurveType::Class() { return *IFC4X2_IfcTransitionCurveType_type; }
@@ -8435,6 +9215,10 @@ Ifc4x2::IfcTransitionCurveType::Value Ifc4x2::IfcTransitionCurveType::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTransitionCurveType::operator Ifc4x2::IfcTransitionCurveType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTransportElementTypeEnum::declaration() const { return *IFC4X2_IfcTransportElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTransportElementTypeEnum::Class() { return *IFC4X2_IfcTransportElementTypeEnum_type; }
@@ -8471,6 +9255,10 @@ Ifc4x2::IfcTransportElementTypeEnum::Value Ifc4x2::IfcTransportElementTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTransportElementTypeEnum::operator Ifc4x2::IfcTransportElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTrimmingPreference::declaration() const { return *IFC4X2_IfcTrimmingPreference_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTrimmingPreference::Class() { return *IFC4X2_IfcTrimmingPreference_type; }
@@ -8503,6 +9291,10 @@ Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmingPreference::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTrimmingPreference::operator Ifc4x2::IfcTrimmingPreference::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcTubeBundleTypeEnum::declaration() const { return *IFC4X2_IfcTubeBundleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcTubeBundleTypeEnum::Class() { return *IFC4X2_IfcTubeBundleTypeEnum_type; }
@@ -8535,6 +9327,10 @@ Ifc4x2::IfcTubeBundleTypeEnum::Value Ifc4x2::IfcTubeBundleTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcTubeBundleTypeEnum::operator Ifc4x2::IfcTubeBundleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcUnitEnum::declaration() const { return *IFC4X2_IfcUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcUnitEnum::Class() { return *IFC4X2_IfcUnitEnum_type; }
@@ -8594,6 +9390,10 @@ Ifc4x2::IfcUnitEnum::Value Ifc4x2::IfcUnitEnum::FromString(const std::string& s)
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcUnitEnum::operator Ifc4x2::IfcUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcUnitaryControlElementTypeEnum::declaration() const { return *IFC4X2_IfcUnitaryControlElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcUnitaryControlElementTypeEnum::Class() { return *IFC4X2_IfcUnitaryControlElementTypeEnum_type; }
@@ -8633,6 +9433,10 @@ Ifc4x2::IfcUnitaryControlElementTypeEnum::Value Ifc4x2::IfcUnitaryControlElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcUnitaryControlElementTypeEnum::operator Ifc4x2::IfcUnitaryControlElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC4X2_IfcUnitaryEquipmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC4X2_IfcUnitaryEquipmentTypeEnum_type; }
@@ -8669,6 +9473,10 @@ Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x2::IfcUnitaryEquipmentTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcUnitaryEquipmentTypeEnum::operator Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcValveTypeEnum::declaration() const { return *IFC4X2_IfcValveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcValveTypeEnum::Class() { return *IFC4X2_IfcValveTypeEnum_type; }
@@ -8721,6 +9529,10 @@ Ifc4x2::IfcValveTypeEnum::Value Ifc4x2::IfcValveTypeEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcValveTypeEnum::operator Ifc4x2::IfcValveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcVibrationDamperTypeEnum::declaration() const { return *IFC4X2_IfcVibrationDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcVibrationDamperTypeEnum::Class() { return *IFC4X2_IfcVibrationDamperTypeEnum_type; }
@@ -8758,6 +9570,10 @@ Ifc4x2::IfcVibrationDamperTypeEnum::Value Ifc4x2::IfcVibrationDamperTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcVibrationDamperTypeEnum::operator Ifc4x2::IfcVibrationDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC4X2_IfcVibrationIsolatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcVibrationIsolatorTypeEnum::Class() { return *IFC4X2_IfcVibrationIsolatorTypeEnum_type; }
@@ -8792,6 +9608,10 @@ Ifc4x2::IfcVibrationIsolatorTypeEnum::Value Ifc4x2::IfcVibrationIsolatorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcVibrationIsolatorTypeEnum::operator Ifc4x2::IfcVibrationIsolatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcVoidingFeatureTypeEnum::declaration() const { return *IFC4X2_IfcVoidingFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcVoidingFeatureTypeEnum::Class() { return *IFC4X2_IfcVoidingFeatureTypeEnum_type; }
@@ -8829,6 +9649,10 @@ Ifc4x2::IfcVoidingFeatureTypeEnum::Value Ifc4x2::IfcVoidingFeatureTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcVoidingFeatureTypeEnum::operator Ifc4x2::IfcVoidingFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWallTypeEnum::declaration() const { return *IFC4X2_IfcWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWallTypeEnum::Class() { return *IFC4X2_IfcWallTypeEnum_type; }
@@ -8870,6 +9694,10 @@ Ifc4x2::IfcWallTypeEnum::Value Ifc4x2::IfcWallTypeEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWallTypeEnum::operator Ifc4x2::IfcWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWasteTerminalTypeEnum::declaration() const { return *IFC4X2_IfcWasteTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWasteTerminalTypeEnum::Class() { return *IFC4X2_IfcWasteTerminalTypeEnum_type; }
@@ -8908,6 +9736,10 @@ Ifc4x2::IfcWasteTerminalTypeEnum::Value Ifc4x2::IfcWasteTerminalTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWasteTerminalTypeEnum::operator Ifc4x2::IfcWasteTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWindowPanelOperationEnum::declaration() const { return *IFC4X2_IfcWindowPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWindowPanelOperationEnum::Class() { return *IFC4X2_IfcWindowPanelOperationEnum_type; }
@@ -8951,6 +9783,10 @@ Ifc4x2::IfcWindowPanelOperationEnum::Value Ifc4x2::IfcWindowPanelOperationEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWindowPanelOperationEnum::operator Ifc4x2::IfcWindowPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWindowPanelPositionEnum::declaration() const { return *IFC4X2_IfcWindowPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWindowPanelPositionEnum::Class() { return *IFC4X2_IfcWindowPanelPositionEnum_type; }
@@ -8986,6 +9822,10 @@ Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcWindowPanelPositionEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWindowPanelPositionEnum::operator Ifc4x2::IfcWindowPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWindowStyleConstructionEnum::declaration() const { return *IFC4X2_IfcWindowStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWindowStyleConstructionEnum::Class() { return *IFC4X2_IfcWindowStyleConstructionEnum_type; }
@@ -9023,6 +9863,10 @@ Ifc4x2::IfcWindowStyleConstructionEnum::Value Ifc4x2::IfcWindowStyleConstruction
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWindowStyleConstructionEnum::operator Ifc4x2::IfcWindowStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWindowStyleOperationEnum::declaration() const { return *IFC4X2_IfcWindowStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWindowStyleOperationEnum::Class() { return *IFC4X2_IfcWindowStyleOperationEnum_type; }
@@ -9063,6 +9907,10 @@ Ifc4x2::IfcWindowStyleOperationEnum::Value Ifc4x2::IfcWindowStyleOperationEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWindowStyleOperationEnum::operator Ifc4x2::IfcWindowStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWindowTypeEnum::declaration() const { return *IFC4X2_IfcWindowTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWindowTypeEnum::Class() { return *IFC4X2_IfcWindowTypeEnum_type; }
@@ -9097,6 +9945,10 @@ Ifc4x2::IfcWindowTypeEnum::Value Ifc4x2::IfcWindowTypeEnum::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWindowTypeEnum::operator Ifc4x2::IfcWindowTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWindowTypePartitioningEnum::declaration() const { return *IFC4X2_IfcWindowTypePartitioningEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWindowTypePartitioningEnum::Class() { return *IFC4X2_IfcWindowTypePartitioningEnum_type; }
@@ -9137,6 +9989,10 @@ Ifc4x2::IfcWindowTypePartitioningEnum::Value Ifc4x2::IfcWindowTypePartitioningEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWindowTypePartitioningEnum::operator Ifc4x2::IfcWindowTypePartitioningEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWorkCalendarTypeEnum::declaration() const { return *IFC4X2_IfcWorkCalendarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWorkCalendarTypeEnum::Class() { return *IFC4X2_IfcWorkCalendarTypeEnum_type; }
@@ -9171,6 +10027,10 @@ Ifc4x2::IfcWorkCalendarTypeEnum::Value Ifc4x2::IfcWorkCalendarTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWorkCalendarTypeEnum::operator Ifc4x2::IfcWorkCalendarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWorkPlanTypeEnum::declaration() const { return *IFC4X2_IfcWorkPlanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWorkPlanTypeEnum::Class() { return *IFC4X2_IfcWorkPlanTypeEnum_type; }
@@ -9205,6 +10065,10 @@ Ifc4x2::IfcWorkPlanTypeEnum::Value Ifc4x2::IfcWorkPlanTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWorkPlanTypeEnum::operator Ifc4x2::IfcWorkPlanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x2::IfcWorkScheduleTypeEnum::declaration() const { return *IFC4X2_IfcWorkScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x2::IfcWorkScheduleTypeEnum::Class() { return *IFC4X2_IfcWorkScheduleTypeEnum_type; }
@@ -9239,6 +10103,10 @@ Ifc4x2::IfcWorkScheduleTypeEnum::Value Ifc4x2::IfcWorkScheduleTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x2::IfcWorkScheduleTypeEnum::operator Ifc4x2::IfcWorkScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
// Function implementations for IfcAbsorbedDoseMeasure
const IfcParse::type_declaration& Ifc4x2::IfcAbsorbedDoseMeasure::Class() { return *IFC4X2_IfcAbsorbedDoseMeasure_type; }
diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp
index d8e43a9b12..dca10d68c2 100644
--- a/src/ifcparse/Ifc4x3_rc1.cpp
+++ b/src/ifcparse/Ifc4x3_rc1.cpp
@@ -1326,6 +1326,10 @@ Ifc4x3_rc1::IfcActionRequestTypeEnum::Value Ifc4x3_rc1::IfcActionRequestTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcActionRequestTypeEnum::operator Ifc4x3_rc1::IfcActionRequestTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionSourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcActionSourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionSourceTypeEnum::Class() { return *IFC4X3_RC1_IfcActionSourceTypeEnum_type; }
@@ -1382,6 +1386,10 @@ Ifc4x3_rc1::IfcActionSourceTypeEnum::Value Ifc4x3_rc1::IfcActionSourceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcActionSourceTypeEnum::operator Ifc4x3_rc1::IfcActionSourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionTypeEnum::declaration() const { return *IFC4X3_RC1_IfcActionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionTypeEnum::Class() { return *IFC4X3_RC1_IfcActionTypeEnum_type; }
@@ -1416,6 +1424,10 @@ Ifc4x3_rc1::IfcActionTypeEnum::Value Ifc4x3_rc1::IfcActionTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcActionTypeEnum::operator Ifc4x3_rc1::IfcActionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActuatorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcActuatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActuatorTypeEnum::Class() { return *IFC4X3_RC1_IfcActuatorTypeEnum_type; }
@@ -1452,6 +1464,10 @@ Ifc4x3_rc1::IfcActuatorTypeEnum::Value Ifc4x3_rc1::IfcActuatorTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcActuatorTypeEnum::operator Ifc4x3_rc1::IfcActuatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAddressTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAddressTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAddressTypeEnum::Class() { return *IFC4X3_RC1_IfcAddressTypeEnum_type; }
@@ -1486,6 +1502,10 @@ Ifc4x3_rc1::IfcAddressTypeEnum::Value Ifc4x3_rc1::IfcAddressTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAddressTypeEnum::operator Ifc4x3_rc1::IfcAddressTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAirTerminalBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class() { return *IFC4X3_RC1_IfcAirTerminalBoxTypeEnum_type; }
@@ -1520,6 +1540,10 @@ Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalBoxTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirTerminalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAirTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class() { return *IFC4X3_RC1_IfcAirTerminalTypeEnum_type; }
@@ -1555,6 +1579,10 @@ Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAirTerminalTypeEnum::operator Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAirToAirHeatRecoveryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC4X3_RC1_IfcAirToAirHeatRecoveryTypeEnum_type; }
@@ -1595,6 +1623,10 @@ Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc1::IfcAirToAirHeatRe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAlarmTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAlarmTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAlarmTypeEnum::Class() { return *IFC4X3_RC1_IfcAlarmTypeEnum_type; }
@@ -1634,6 +1666,10 @@ Ifc4x3_rc1::IfcAlarmTypeEnum::Value Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAlarmTypeEnum::operator Ifc4x3_rc1::IfcAlarmTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAlignmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAlignmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAlignmentTypeEnum::Class() { return *IFC4X3_RC1_IfcAlignmentTypeEnum_type; }
@@ -1665,6 +1701,10 @@ Ifc4x3_rc1::IfcAlignmentTypeEnum::Value Ifc4x3_rc1::IfcAlignmentTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAlignmentTypeEnum::operator Ifc4x3_rc1::IfcAlignmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnalysisModelTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAnalysisModelTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class() { return *IFC4X3_RC1_IfcAnalysisModelTypeEnum_type; }
@@ -1699,6 +1739,10 @@ Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcAnalysisModelTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAnalysisModelTypeEnum::operator Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAnalysisTheoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class() { return *IFC4X3_RC1_IfcAnalysisTheoryTypeEnum_type; }
@@ -1734,6 +1778,10 @@ Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcAnalysisTheoryTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnnotationTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAnnotationTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnnotationTypeEnum::Class() { return *IFC4X3_RC1_IfcAnnotationTypeEnum_type; }
@@ -1774,6 +1822,10 @@ Ifc4x3_rc1::IfcAnnotationTypeEnum::Value Ifc4x3_rc1::IfcAnnotationTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAnnotationTypeEnum::operator Ifc4x3_rc1::IfcAnnotationTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcArithmeticOperatorEnum::declaration() const { return *IFC4X3_RC1_IfcArithmeticOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class() { return *IFC4X3_RC1_IfcArithmeticOperatorEnum_type; }
@@ -1807,6 +1859,10 @@ Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value Ifc4x3_rc1::IfcArithmeticOperatorEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcArithmeticOperatorEnum::operator Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAssemblyPlaceEnum::declaration() const { return *IFC4X3_RC1_IfcAssemblyPlaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class() { return *IFC4X3_RC1_IfcAssemblyPlaceEnum_type; }
@@ -1839,6 +1895,10 @@ Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAssemblyPlaceEnum::operator Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcAudioVisualApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class() { return *IFC4X3_RC1_IfcAudioVisualApplianceTypeEnum_type; }
@@ -1882,6 +1942,10 @@ Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc1::IfcAudioVisualApp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBSplineCurveForm::declaration() const { return *IFC4X3_RC1_IfcBSplineCurveForm_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBSplineCurveForm::Class() { return *IFC4X3_RC1_IfcBSplineCurveForm_type; }
@@ -1917,6 +1981,10 @@ Ifc4x3_rc1::IfcBSplineCurveForm::Value Ifc4x3_rc1::IfcBSplineCurveForm::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBSplineCurveForm::operator Ifc4x3_rc1::IfcBSplineCurveForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBSplineSurfaceForm::declaration() const { return *IFC4X3_RC1_IfcBSplineSurfaceForm_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBSplineSurfaceForm::Class() { return *IFC4X3_RC1_IfcBSplineSurfaceForm_type; }
@@ -1957,6 +2025,10 @@ Ifc4x3_rc1::IfcBSplineSurfaceForm::Value Ifc4x3_rc1::IfcBSplineSurfaceForm::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBSplineSurfaceForm::operator Ifc4x3_rc1::IfcBSplineSurfaceForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBeamTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBeamTypeEnum::Class() { return *IFC4X3_RC1_IfcBeamTypeEnum_type; }
@@ -2000,6 +2072,10 @@ Ifc4x3_rc1::IfcBeamTypeEnum::Value Ifc4x3_rc1::IfcBeamTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBeamTypeEnum::operator Ifc4x3_rc1::IfcBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::declaration() const { return *IFC4X3_RC1_IfcBearingTypeDisplacementEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Class() { return *IFC4X3_RC1_IfcBearingTypeDisplacementEnum_type; }
@@ -2034,6 +2110,10 @@ Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Value Ifc4x3_rc1::IfcBearingTypeDisp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::operator Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBearingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBearingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBearingTypeEnum::Class() { return *IFC4X3_RC1_IfcBearingTypeEnum_type; }
@@ -2073,6 +2153,10 @@ Ifc4x3_rc1::IfcBearingTypeEnum::Value Ifc4x3_rc1::IfcBearingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBearingTypeEnum::operator Ifc4x3_rc1::IfcBearingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBenchmarkEnum::declaration() const { return *IFC4X3_RC1_IfcBenchmarkEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBenchmarkEnum::Class() { return *IFC4X3_RC1_IfcBenchmarkEnum_type; }
@@ -2112,6 +2196,10 @@ Ifc4x3_rc1::IfcBenchmarkEnum::Value Ifc4x3_rc1::IfcBenchmarkEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBenchmarkEnum::operator Ifc4x3_rc1::IfcBenchmarkEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBoilerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBoilerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBoilerTypeEnum::Class() { return *IFC4X3_RC1_IfcBoilerTypeEnum_type; }
@@ -2145,6 +2233,10 @@ Ifc4x3_rc1::IfcBoilerTypeEnum::Value Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBoilerTypeEnum::operator Ifc4x3_rc1::IfcBoilerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBooleanOperator::declaration() const { return *IFC4X3_RC1_IfcBooleanOperator_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBooleanOperator::Class() { return *IFC4X3_RC1_IfcBooleanOperator_type; }
@@ -2177,6 +2269,10 @@ Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanOperator::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBooleanOperator::operator Ifc4x3_rc1::IfcBooleanOperator::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBridgePartTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBridgePartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBridgePartTypeEnum::Class() { return *IFC4X3_RC1_IfcBridgePartTypeEnum_type; }
@@ -2218,6 +2314,10 @@ Ifc4x3_rc1::IfcBridgePartTypeEnum::Value Ifc4x3_rc1::IfcBridgePartTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBridgePartTypeEnum::operator Ifc4x3_rc1::IfcBridgePartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBridgeTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBridgeTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBridgeTypeEnum::Class() { return *IFC4X3_RC1_IfcBridgeTypeEnum_type; }
@@ -2257,6 +2357,10 @@ Ifc4x3_rc1::IfcBridgeTypeEnum::Value Ifc4x3_rc1::IfcBridgeTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBridgeTypeEnum::operator Ifc4x3_rc1::IfcBridgeTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBuildingElementPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class() { return *IFC4X3_RC1_IfcBuildingElementPartTypeEnum_type; }
@@ -2293,6 +2397,10 @@ Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc1::IfcBuildingElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::operator Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBuildingElementProxyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class() { return *IFC4X3_RC1_IfcBuildingElementProxyTypeEnum_type; }
@@ -2329,6 +2437,10 @@ Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc1::IfcBuildingElemen
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingSystemTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBuildingSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Class() { return *IFC4X3_RC1_IfcBuildingSystemTypeEnum_type; }
@@ -2369,6 +2481,10 @@ Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc1::IfcBuildingSystemTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBuildingSystemTypeEnum::operator Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuiltSystemTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBuiltSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class() { return *IFC4X3_RC1_IfcBuiltSystemTypeEnum_type; }
@@ -2412,6 +2528,10 @@ Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBuiltSystemTypeEnum::operator Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBurnerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcBurnerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBurnerTypeEnum::Class() { return *IFC4X3_RC1_IfcBurnerTypeEnum_type; }
@@ -2443,6 +2563,10 @@ Ifc4x3_rc1::IfcBurnerTypeEnum::Value Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcBurnerTypeEnum::operator Ifc4x3_rc1::IfcBurnerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCableCarrierFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class() { return *IFC4X3_RC1_IfcCableCarrierFittingTypeEnum_type; }
@@ -2478,6 +2602,10 @@ Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierFit
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCableCarrierSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC4X3_RC1_IfcCableCarrierSegmentTypeEnum_type; }
@@ -2516,6 +2644,10 @@ Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierSeg
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableFittingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCableFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableFittingTypeEnum::Class() { return *IFC4X3_RC1_IfcCableFittingTypeEnum_type; }
@@ -2553,6 +2685,10 @@ Ifc4x3_rc1::IfcCableFittingTypeEnum::Value Ifc4x3_rc1::IfcCableFittingTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCableFittingTypeEnum::operator Ifc4x3_rc1::IfcCableFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableSegmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCableSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class() { return *IFC4X3_RC1_IfcCableSegmentTypeEnum_type; }
@@ -2594,6 +2730,10 @@ Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableSegmentTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCableSegmentTypeEnum::operator Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCaissonFoundationTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class() { return *IFC4X3_RC1_IfcCaissonFoundationTypeEnum_type; }
@@ -2627,6 +2767,10 @@ Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc1::IfcCaissonFoundation
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::operator Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChangeActionEnum::declaration() const { return *IFC4X3_RC1_IfcChangeActionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChangeActionEnum::Class() { return *IFC4X3_RC1_IfcChangeActionEnum_type; }
@@ -2661,6 +2805,10 @@ Ifc4x3_rc1::IfcChangeActionEnum::Value Ifc4x3_rc1::IfcChangeActionEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcChangeActionEnum::operator Ifc4x3_rc1::IfcChangeActionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChillerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcChillerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChillerTypeEnum::Class() { return *IFC4X3_RC1_IfcChillerTypeEnum_type; }
@@ -2695,6 +2843,10 @@ Ifc4x3_rc1::IfcChillerTypeEnum::Value Ifc4x3_rc1::IfcChillerTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcChillerTypeEnum::operator Ifc4x3_rc1::IfcChillerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChimneyTypeEnum::declaration() const { return *IFC4X3_RC1_IfcChimneyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChimneyTypeEnum::Class() { return *IFC4X3_RC1_IfcChimneyTypeEnum_type; }
@@ -2726,6 +2878,10 @@ Ifc4x3_rc1::IfcChimneyTypeEnum::Value Ifc4x3_rc1::IfcChimneyTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcChimneyTypeEnum::operator Ifc4x3_rc1::IfcChimneyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoilTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoilTypeEnum::Class() { return *IFC4X3_RC1_IfcCoilTypeEnum_type; }
@@ -2764,6 +2920,10 @@ Ifc4x3_rc1::IfcCoilTypeEnum::Value Ifc4x3_rc1::IfcCoilTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCoilTypeEnum::operator Ifc4x3_rc1::IfcCoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcColumnTypeEnum::declaration() const { return *IFC4X3_RC1_IfcColumnTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcColumnTypeEnum::Class() { return *IFC4X3_RC1_IfcColumnTypeEnum_type; }
@@ -2800,6 +2960,10 @@ Ifc4x3_rc1::IfcColumnTypeEnum::Value Ifc4x3_rc1::IfcColumnTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcColumnTypeEnum::operator Ifc4x3_rc1::IfcColumnTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class() { return *IFC4X3_RC1_IfcCommunicationsApplianceTypeEnum_type; }
@@ -2852,6 +3016,10 @@ Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcCommunicati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *IFC4X3_RC1_IfcComplexPropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class() { return *IFC4X3_RC1_IfcComplexPropertyTemplateTypeEnum_type; }
@@ -2883,6 +3051,10 @@ Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc1::IfcComplexProp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCompressorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCompressorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCompressorTypeEnum::Class() { return *IFC4X3_RC1_IfcCompressorTypeEnum_type; }
@@ -2929,6 +3101,10 @@ Ifc4x3_rc1::IfcCompressorTypeEnum::Value Ifc4x3_rc1::IfcCompressorTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCompressorTypeEnum::operator Ifc4x3_rc1::IfcCompressorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCondenserTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCondenserTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCondenserTypeEnum::Class() { return *IFC4X3_RC1_IfcCondenserTypeEnum_type; }
@@ -2967,6 +3143,10 @@ Ifc4x3_rc1::IfcCondenserTypeEnum::Value Ifc4x3_rc1::IfcCondenserTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCondenserTypeEnum::operator Ifc4x3_rc1::IfcCondenserTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConnectionTypeEnum::declaration() const { return *IFC4X3_RC1_IfcConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConnectionTypeEnum::Class() { return *IFC4X3_RC1_IfcConnectionTypeEnum_type; }
@@ -3000,6 +3180,10 @@ Ifc4x3_rc1::IfcConnectionTypeEnum::Value Ifc4x3_rc1::IfcConnectionTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcConnectionTypeEnum::operator Ifc4x3_rc1::IfcConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstraintEnum::declaration() const { return *IFC4X3_RC1_IfcConstraintEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstraintEnum::Class() { return *IFC4X3_RC1_IfcConstraintEnum_type; }
@@ -3034,6 +3218,10 @@ Ifc4x3_rc1::IfcConstraintEnum::Value Ifc4x3_rc1::IfcConstraintEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcConstraintEnum::operator Ifc4x3_rc1::IfcConstraintEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcConstructionEquipmentResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class() { return *IFC4X3_RC1_IfcConstructionEquipmentResourceTypeEnum_type; }
@@ -3073,6 +3261,10 @@ Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc1::IfcConst
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcConstructionMaterialResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class() { return *IFC4X3_RC1_IfcConstructionMaterialResourceTypeEnum_type; }
@@ -3113,6 +3305,10 @@ Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc1::IfcConstr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcConstructionProductResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class() { return *IFC4X3_RC1_IfcConstructionProductResourceTypeEnum_type; }
@@ -3146,6 +3342,10 @@ Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc1::IfcConstru
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcControllerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcControllerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcControllerTypeEnum::Class() { return *IFC4X3_RC1_IfcControllerTypeEnum_type; }
@@ -3182,6 +3382,10 @@ Ifc4x3_rc1::IfcControllerTypeEnum::Value Ifc4x3_rc1::IfcControllerTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcControllerTypeEnum::operator Ifc4x3_rc1::IfcControllerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcConveyorSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class() { return *IFC4X3_RC1_IfcConveyorSegmentTypeEnum_type; }
@@ -3217,6 +3421,10 @@ Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc1::IfcConveyorSegmentType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::operator Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCooledBeamTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCooledBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class() { return *IFC4X3_RC1_IfcCooledBeamTypeEnum_type; }
@@ -3250,6 +3458,10 @@ Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value Ifc4x3_rc1::IfcCooledBeamTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCooledBeamTypeEnum::operator Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoolingTowerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCoolingTowerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class() { return *IFC4X3_RC1_IfcCoolingTowerTypeEnum_type; }
@@ -3284,6 +3496,10 @@ Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc1::IfcCoolingTowerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCoolingTowerTypeEnum::operator Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCostItemTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCostItemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCostItemTypeEnum::Class() { return *IFC4X3_RC1_IfcCostItemTypeEnum_type; }
@@ -3315,6 +3531,10 @@ Ifc4x3_rc1::IfcCostItemTypeEnum::Value Ifc4x3_rc1::IfcCostItemTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCostItemTypeEnum::operator Ifc4x3_rc1::IfcCostItemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCostScheduleTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCostScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class() { return *IFC4X3_RC1_IfcCostScheduleTypeEnum_type; }
@@ -3353,6 +3573,10 @@ Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value Ifc4x3_rc1::IfcCostScheduleTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCostScheduleTypeEnum::operator Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCourseTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCourseTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCourseTypeEnum::Class() { return *IFC4X3_RC1_IfcCourseTypeEnum_type; }
@@ -3390,6 +3614,10 @@ Ifc4x3_rc1::IfcCourseTypeEnum::Value Ifc4x3_rc1::IfcCourseTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCourseTypeEnum::operator Ifc4x3_rc1::IfcCourseTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoveringTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCoveringTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoveringTypeEnum::Class() { return *IFC4X3_RC1_IfcCoveringTypeEnum_type; }
@@ -3432,6 +3660,10 @@ Ifc4x3_rc1::IfcCoveringTypeEnum::Value Ifc4x3_rc1::IfcCoveringTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCoveringTypeEnum::operator Ifc4x3_rc1::IfcCoveringTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCrewResourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCrewResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class() { return *IFC4X3_RC1_IfcCrewResourceTypeEnum_type; }
@@ -3465,6 +3697,10 @@ Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value Ifc4x3_rc1::IfcCrewResourceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCrewResourceTypeEnum::operator Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCurtainWallTypeEnum::declaration() const { return *IFC4X3_RC1_IfcCurtainWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class() { return *IFC4X3_RC1_IfcCurtainWallTypeEnum_type; }
@@ -3496,6 +3732,10 @@ Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value Ifc4x3_rc1::IfcCurtainWallTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCurtainWallTypeEnum::operator Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCurveInterpolationEnum::declaration() const { return *IFC4X3_RC1_IfcCurveInterpolationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCurveInterpolationEnum::Class() { return *IFC4X3_RC1_IfcCurveInterpolationEnum_type; }
@@ -3529,6 +3769,10 @@ Ifc4x3_rc1::IfcCurveInterpolationEnum::Value Ifc4x3_rc1::IfcCurveInterpolationEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcCurveInterpolationEnum::operator Ifc4x3_rc1::IfcCurveInterpolationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDamperTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDamperTypeEnum::Class() { return *IFC4X3_RC1_IfcDamperTypeEnum_type; }
@@ -3571,6 +3815,10 @@ Ifc4x3_rc1::IfcDamperTypeEnum::Value Ifc4x3_rc1::IfcDamperTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDamperTypeEnum::operator Ifc4x3_rc1::IfcDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDataOriginEnum::declaration() const { return *IFC4X3_RC1_IfcDataOriginEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDataOriginEnum::Class() { return *IFC4X3_RC1_IfcDataOriginEnum_type; }
@@ -3605,6 +3853,10 @@ Ifc4x3_rc1::IfcDataOriginEnum::Value Ifc4x3_rc1::IfcDataOriginEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDataOriginEnum::operator Ifc4x3_rc1::IfcDataOriginEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDerivedUnitEnum::declaration() const { return *IFC4X3_RC1_IfcDerivedUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDerivedUnitEnum::Class() { return *IFC4X3_RC1_IfcDerivedUnitEnum_type; }
@@ -3687,6 +3939,10 @@ Ifc4x3_rc1::IfcDerivedUnitEnum::Value Ifc4x3_rc1::IfcDerivedUnitEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDerivedUnitEnum::operator Ifc4x3_rc1::IfcDerivedUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDirectionSenseEnum::declaration() const { return *IFC4X3_RC1_IfcDirectionSenseEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDirectionSenseEnum::Class() { return *IFC4X3_RC1_IfcDirectionSenseEnum_type; }
@@ -3718,6 +3974,10 @@ Ifc4x3_rc1::IfcDirectionSenseEnum::Value Ifc4x3_rc1::IfcDirectionSenseEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDirectionSenseEnum::operator Ifc4x3_rc1::IfcDirectionSenseEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDiscreteAccessoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class() { return *IFC4X3_RC1_IfcDiscreteAccessoryTypeEnum_type; }
@@ -3766,6 +4026,10 @@ Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc1::IfcDiscreteAccessory
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionBoardTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class() { return *IFC4X3_RC1_IfcDistributionBoardTypeEnum_type; }
@@ -3802,6 +4066,10 @@ Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcDistributionBoard
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDistributionChamberElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class() { return *IFC4X3_RC1_IfcDistributionChamberElementTypeEnum_type; }
@@ -3841,6 +4109,10 @@ Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc1::IfcDistribu
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionPortTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDistributionPortTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionPortTypeEnum::Class() { return *IFC4X3_RC1_IfcDistributionPortTypeEnum_type; }
@@ -3877,6 +4149,10 @@ Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value Ifc4x3_rc1::IfcDistributionPortTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDistributionPortTypeEnum::operator Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionSystemEnum::declaration() const { return *IFC4X3_RC1_IfcDistributionSystemEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionSystemEnum::Class() { return *IFC4X3_RC1_IfcDistributionSystemEnum_type; }
@@ -3953,6 +4229,10 @@ Ifc4x3_rc1::IfcDistributionSystemEnum::Value Ifc4x3_rc1::IfcDistributionSystemEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDistributionSystemEnum::operator Ifc4x3_rc1::IfcDistributionSystemEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDocumentConfidentialityEnum::declaration() const { return *IFC4X3_RC1_IfcDocumentConfidentialityEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Class() { return *IFC4X3_RC1_IfcDocumentConfidentialityEnum_type; }
@@ -3988,6 +4268,10 @@ Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc1::IfcDocumentConfide
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDocumentStatusEnum::declaration() const { return *IFC4X3_RC1_IfcDocumentStatusEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDocumentStatusEnum::Class() { return *IFC4X3_RC1_IfcDocumentStatusEnum_type; }
@@ -4022,6 +4306,10 @@ Ifc4x3_rc1::IfcDocumentStatusEnum::Value Ifc4x3_rc1::IfcDocumentStatusEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDocumentStatusEnum::operator Ifc4x3_rc1::IfcDocumentStatusEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorPanelOperationEnum::declaration() const { return *IFC4X3_RC1_IfcDoorPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorPanelOperationEnum::Class() { return *IFC4X3_RC1_IfcDoorPanelOperationEnum_type; }
@@ -4060,6 +4348,10 @@ Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value Ifc4x3_rc1::IfcDoorPanelOperationEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDoorPanelOperationEnum::operator Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorPanelPositionEnum::declaration() const { return *IFC4X3_RC1_IfcDoorPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class() { return *IFC4X3_RC1_IfcDoorPanelPositionEnum_type; }
@@ -4093,6 +4385,10 @@ Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelPositionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDoorPanelPositionEnum::operator Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorStyleConstructionEnum::declaration() const { return *IFC4X3_RC1_IfcDoorStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Class() { return *IFC4X3_RC1_IfcDoorStyleConstructionEnum_type; }
@@ -4131,6 +4427,10 @@ Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc1::IfcDoorStyleConstruc
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorStyleOperationEnum::declaration() const { return *IFC4X3_RC1_IfcDoorStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorStyleOperationEnum::Class() { return *IFC4X3_RC1_IfcDoorStyleOperationEnum_type; }
@@ -4178,6 +4478,10 @@ Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value Ifc4x3_rc1::IfcDoorStyleOperationEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDoorStyleOperationEnum::operator Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDoorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorTypeEnum::Class() { return *IFC4X3_RC1_IfcDoorTypeEnum_type; }
@@ -4214,6 +4518,10 @@ Ifc4x3_rc1::IfcDoorTypeEnum::Value Ifc4x3_rc1::IfcDoorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDoorTypeEnum::operator Ifc4x3_rc1::IfcDoorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorTypeOperationEnum::declaration() const { return *IFC4X3_RC1_IfcDoorTypeOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class() { return *IFC4X3_RC1_IfcDoorTypeOperationEnum_type; }
@@ -4263,6 +4571,10 @@ Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value Ifc4x3_rc1::IfcDoorTypeOperationEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDoorTypeOperationEnum::operator Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctFittingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDuctFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class() { return *IFC4X3_RC1_IfcDuctFittingTypeEnum_type; }
@@ -4301,6 +4613,10 @@ Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value Ifc4x3_rc1::IfcDuctFittingTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDuctFittingTypeEnum::operator Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctSegmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDuctSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class() { return *IFC4X3_RC1_IfcDuctSegmentTypeEnum_type; }
@@ -4334,6 +4650,10 @@ Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctSilencerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcDuctSilencerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class() { return *IFC4X3_RC1_IfcDuctSilencerTypeEnum_type; }
@@ -4368,6 +4688,10 @@ Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc1::IfcDuctSilencerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEarthworksCutTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEarthworksCutTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Class() { return *IFC4X3_RC1_IfcEarthworksCutTypeEnum_type; }
@@ -4408,6 +4732,10 @@ Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc1::IfcEarthworksCutTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEarthworksFillTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEarthworksFillTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Class() { return *IFC4X3_RC1_IfcEarthworksFillTypeEnum_type; }
@@ -4446,6 +4774,10 @@ Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc1::IfcEarthworksFillTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricApplianceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricApplianceTypeEnum_type; }
@@ -4493,6 +4825,10 @@ Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc1::IfcElectricAppliance
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricDistributionBoardTypeEnum_type; }
@@ -4528,6 +4864,10 @@ Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcElectricD
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricFlowStorageDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricFlowStorageDeviceTypeEnum_type; }
@@ -4568,6 +4908,10 @@ Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricF
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricFlowTreatmentDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricFlowTreatmentDeviceTypeEnum_type; }
@@ -4600,6 +4944,10 @@ Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricGeneratorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricGeneratorTypeEnum_type; }
@@ -4634,6 +4982,10 @@ Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc1::IfcElectricGenerator
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricMotorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricMotorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricMotorTypeEnum_type; }
@@ -4670,6 +5022,10 @@ Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value Ifc4x3_rc1::IfcElectricMotorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricMotorTypeEnum::operator Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElectricTimeControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class() { return *IFC4X3_RC1_IfcElectricTimeControlTypeEnum_type; }
@@ -4704,6 +5060,10 @@ Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc1::IfcElectricTimeCon
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElementAssemblyTypeEnum::declaration() const { return *IFC4X3_RC1_IfcElementAssemblyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class() { return *IFC4X3_RC1_IfcElementAssemblyTypeEnum_type; }
@@ -4763,6 +5123,10 @@ Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc1::IfcElementAssemblyType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElementCompositionEnum::declaration() const { return *IFC4X3_RC1_IfcElementCompositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElementCompositionEnum::Class() { return *IFC4X3_RC1_IfcElementCompositionEnum_type; }
@@ -4795,6 +5159,10 @@ Ifc4x3_rc1::IfcElementCompositionEnum::Value Ifc4x3_rc1::IfcElementCompositionEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcElementCompositionEnum::operator Ifc4x3_rc1::IfcElementCompositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEngineTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEngineTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEngineTypeEnum::Class() { return *IFC4X3_RC1_IfcEngineTypeEnum_type; }
@@ -4828,6 +5196,10 @@ Ifc4x3_rc1::IfcEngineTypeEnum::Value Ifc4x3_rc1::IfcEngineTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEngineTypeEnum::operator Ifc4x3_rc1::IfcEngineTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEvaporativeCoolerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC4X3_RC1_IfcEvaporativeCoolerTypeEnum_type; }
@@ -4868,6 +5240,10 @@ Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc1::IfcEvaporativeCooler
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEvaporatorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEvaporatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class() { return *IFC4X3_RC1_IfcEvaporatorTypeEnum_type; }
@@ -4905,6 +5281,10 @@ Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value Ifc4x3_rc1::IfcEvaporatorTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEvaporatorTypeEnum::operator Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEventTriggerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEventTriggerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class() { return *IFC4X3_RC1_IfcEventTriggerTypeEnum_type; }
@@ -4940,6 +5320,10 @@ Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value Ifc4x3_rc1::IfcEventTriggerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEventTriggerTypeEnum::operator Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEventTypeEnum::declaration() const { return *IFC4X3_RC1_IfcEventTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEventTypeEnum::Class() { return *IFC4X3_RC1_IfcEventTypeEnum_type; }
@@ -4974,6 +5358,10 @@ Ifc4x3_rc1::IfcEventTypeEnum::Value Ifc4x3_rc1::IfcEventTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcEventTypeEnum::operator Ifc4x3_rc1::IfcEventTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcExternalSpatialElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class() { return *IFC4X3_RC1_IfcExternalSpatialElementTypeEnum_type; }
@@ -5009,6 +5397,10 @@ Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc1::IfcExternalSpat
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFacilityPartCommonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Class() { return *IFC4X3_RC1_IfcFacilityPartCommonTypeEnum_type; }
@@ -5048,6 +5440,10 @@ Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_rc1::IfcFacilityPartComm
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFacilityUsageEnum::declaration() const { return *IFC4X3_RC1_IfcFacilityUsageEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFacilityUsageEnum::Class() { return *IFC4X3_RC1_IfcFacilityUsageEnum_type; }
@@ -5083,6 +5479,10 @@ Ifc4x3_rc1::IfcFacilityUsageEnum::Value Ifc4x3_rc1::IfcFacilityUsageEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFacilityUsageEnum::operator Ifc4x3_rc1::IfcFacilityUsageEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFanTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFanTypeEnum::Class() { return *IFC4X3_RC1_IfcFanTypeEnum_type; }
@@ -5121,6 +5521,10 @@ Ifc4x3_rc1::IfcFanTypeEnum::Value Ifc4x3_rc1::IfcFanTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFanTypeEnum::operator Ifc4x3_rc1::IfcFanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFastenerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFastenerTypeEnum::Class() { return *IFC4X3_RC1_IfcFastenerTypeEnum_type; }
@@ -5155,6 +5559,10 @@ Ifc4x3_rc1::IfcFastenerTypeEnum::Value Ifc4x3_rc1::IfcFastenerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFastenerTypeEnum::operator Ifc4x3_rc1::IfcFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFilterTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFilterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFilterTypeEnum::Class() { return *IFC4X3_RC1_IfcFilterTypeEnum_type; }
@@ -5192,6 +5600,10 @@ Ifc4x3_rc1::IfcFilterTypeEnum::Value Ifc4x3_rc1::IfcFilterTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFilterTypeEnum::operator Ifc4x3_rc1::IfcFilterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFireSuppressionTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC4X3_RC1_IfcFireSuppressionTerminalTypeEnum_type; }
@@ -5228,6 +5640,10 @@ Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc1::IfcFireSuppres
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowDirectionEnum::declaration() const { return *IFC4X3_RC1_IfcFlowDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowDirectionEnum::Class() { return *IFC4X3_RC1_IfcFlowDirectionEnum_type; }
@@ -5261,6 +5677,10 @@ Ifc4x3_rc1::IfcFlowDirectionEnum::Value Ifc4x3_rc1::IfcFlowDirectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFlowDirectionEnum::operator Ifc4x3_rc1::IfcFlowDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFlowInstrumentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class() { return *IFC4X3_RC1_IfcFlowInstrumentTypeEnum_type; }
@@ -5302,6 +5722,10 @@ Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc1::IfcFlowInstrumentTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowMeterTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFlowMeterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class() { return *IFC4X3_RC1_IfcFlowMeterTypeEnum_type; }
@@ -5337,6 +5761,10 @@ Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFlowMeterTypeEnum::operator Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFootingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFootingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFootingTypeEnum::Class() { return *IFC4X3_RC1_IfcFootingTypeEnum_type; }
@@ -5373,6 +5801,10 @@ Ifc4x3_rc1::IfcFootingTypeEnum::Value Ifc4x3_rc1::IfcFootingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFootingTypeEnum::operator Ifc4x3_rc1::IfcFootingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFurnitureTypeEnum::declaration() const { return *IFC4X3_RC1_IfcFurnitureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFurnitureTypeEnum::Class() { return *IFC4X3_RC1_IfcFurnitureTypeEnum_type; }
@@ -5412,6 +5844,10 @@ Ifc4x3_rc1::IfcFurnitureTypeEnum::Value Ifc4x3_rc1::IfcFurnitureTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcFurnitureTypeEnum::operator Ifc4x3_rc1::IfcFurnitureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGeographicElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcGeographicElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class() { return *IFC4X3_RC1_IfcGeographicElementTypeEnum_type; }
@@ -5445,6 +5881,10 @@ Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value Ifc4x3_rc1::IfcGeographicElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcGeographicElementTypeEnum::operator Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGeometricProjectionEnum::declaration() const { return *IFC4X3_RC1_IfcGeometricProjectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGeometricProjectionEnum::Class() { return *IFC4X3_RC1_IfcGeometricProjectionEnum_type; }
@@ -5483,6 +5923,10 @@ Ifc4x3_rc1::IfcGeometricProjectionEnum::Value Ifc4x3_rc1::IfcGeometricProjection
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcGeometricProjectionEnum::operator Ifc4x3_rc1::IfcGeometricProjectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGlobalOrLocalEnum::declaration() const { return *IFC4X3_RC1_IfcGlobalOrLocalEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class() { return *IFC4X3_RC1_IfcGlobalOrLocalEnum_type; }
@@ -5514,6 +5958,10 @@ Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value Ifc4x3_rc1::IfcGlobalOrLocalEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcGlobalOrLocalEnum::operator Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGridTypeEnum::declaration() const { return *IFC4X3_RC1_IfcGridTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGridTypeEnum::Class() { return *IFC4X3_RC1_IfcGridTypeEnum_type; }
@@ -5549,6 +5997,10 @@ Ifc4x3_rc1::IfcGridTypeEnum::Value Ifc4x3_rc1::IfcGridTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcGridTypeEnum::operator Ifc4x3_rc1::IfcGridTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcHeatExchangerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcHeatExchangerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class() { return *IFC4X3_RC1_IfcHeatExchangerTypeEnum_type; }
@@ -5583,6 +6035,10 @@ Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc1::IfcHeatExchangerTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcHumidifierTypeEnum::declaration() const { return *IFC4X3_RC1_IfcHumidifierTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcHumidifierTypeEnum::Class() { return *IFC4X3_RC1_IfcHumidifierTypeEnum_type; }
@@ -5627,6 +6083,10 @@ Ifc4x3_rc1::IfcHumidifierTypeEnum::Value Ifc4x3_rc1::IfcHumidifierTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcHumidifierTypeEnum::operator Ifc4x3_rc1::IfcHumidifierTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcImpactProtectionDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcImpactProtectionDeviceTypeEnum_type; }
@@ -5662,6 +6122,10 @@ Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_rc1::IfcImpactProtec
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInterceptorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcInterceptorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInterceptorTypeEnum::Class() { return *IFC4X3_RC1_IfcInterceptorTypeEnum_type; }
@@ -5697,6 +6161,10 @@ Ifc4x3_rc1::IfcInterceptorTypeEnum::Value Ifc4x3_rc1::IfcInterceptorTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcInterceptorTypeEnum::operator Ifc4x3_rc1::IfcInterceptorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInternalOrExternalEnum::declaration() const { return *IFC4X3_RC1_IfcInternalOrExternalEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInternalOrExternalEnum::Class() { return *IFC4X3_RC1_IfcInternalOrExternalEnum_type; }
@@ -5732,6 +6200,10 @@ Ifc4x3_rc1::IfcInternalOrExternalEnum::Value Ifc4x3_rc1::IfcInternalOrExternalEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcInternalOrExternalEnum::operator Ifc4x3_rc1::IfcInternalOrExternalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInventoryTypeEnum::declaration() const { return *IFC4X3_RC1_IfcInventoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInventoryTypeEnum::Class() { return *IFC4X3_RC1_IfcInventoryTypeEnum_type; }
@@ -5766,6 +6238,10 @@ Ifc4x3_rc1::IfcInventoryTypeEnum::Value Ifc4x3_rc1::IfcInventoryTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcInventoryTypeEnum::operator Ifc4x3_rc1::IfcInventoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcJunctionBoxTypeEnum::declaration() const { return *IFC4X3_RC1_IfcJunctionBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class() { return *IFC4X3_RC1_IfcJunctionBoxTypeEnum_type; }
@@ -5799,6 +6275,10 @@ Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcKnotType::declaration() const { return *IFC4X3_RC1_IfcKnotType_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcKnotType::Class() { return *IFC4X3_RC1_IfcKnotType_type; }
@@ -5832,6 +6312,10 @@ Ifc4x3_rc1::IfcKnotType::Value Ifc4x3_rc1::IfcKnotType::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcKnotType::operator Ifc4x3_rc1::IfcKnotType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLaborResourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcLaborResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class() { return *IFC4X3_RC1_IfcLaborResourceTypeEnum_type; }
@@ -5882,6 +6366,10 @@ Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value Ifc4x3_rc1::IfcLaborResourceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLaborResourceTypeEnum::operator Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLampTypeEnum::declaration() const { return *IFC4X3_RC1_IfcLampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLampTypeEnum::Class() { return *IFC4X3_RC1_IfcLampTypeEnum_type; }
@@ -5922,6 +6410,10 @@ Ifc4x3_rc1::IfcLampTypeEnum::Value Ifc4x3_rc1::IfcLampTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLampTypeEnum::operator Ifc4x3_rc1::IfcLampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLayerSetDirectionEnum::declaration() const { return *IFC4X3_RC1_IfcLayerSetDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class() { return *IFC4X3_RC1_IfcLayerSetDirectionEnum_type; }
@@ -5954,6 +6446,10 @@ Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcLayerSetDirectionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLayerSetDirectionEnum::operator Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightDistributionCurveEnum::declaration() const { return *IFC4X3_RC1_IfcLightDistributionCurveEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class() { return *IFC4X3_RC1_IfcLightDistributionCurveEnum_type; }
@@ -5987,6 +6483,10 @@ Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value Ifc4x3_rc1::IfcLightDistributio
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLightDistributionCurveEnum::operator Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightEmissionSourceEnum::declaration() const { return *IFC4X3_RC1_IfcLightEmissionSourceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class() { return *IFC4X3_RC1_IfcLightEmissionSourceEnum_type; }
@@ -6027,6 +6527,10 @@ Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value Ifc4x3_rc1::IfcLightEmissionSource
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLightEmissionSourceEnum::operator Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightFixtureTypeEnum::declaration() const { return *IFC4X3_RC1_IfcLightFixtureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class() { return *IFC4X3_RC1_IfcLightFixtureTypeEnum_type; }
@@ -6061,6 +6565,10 @@ Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value Ifc4x3_rc1::IfcLightFixtureTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLightFixtureTypeEnum::operator Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcLiquidTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class() { return *IFC4X3_RC1_IfcLiquidTerminalTypeEnum_type; }
@@ -6094,6 +6602,10 @@ Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc1::IfcLiquidTerminalTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLoadGroupTypeEnum::declaration() const { return *IFC4X3_RC1_IfcLoadGroupTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class() { return *IFC4X3_RC1_IfcLoadGroupTypeEnum_type; }
@@ -6128,6 +6640,10 @@ Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value Ifc4x3_rc1::IfcLoadGroupTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLoadGroupTypeEnum::operator Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLogicalOperatorEnum::declaration() const { return *IFC4X3_RC1_IfcLogicalOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLogicalOperatorEnum::Class() { return *IFC4X3_RC1_IfcLogicalOperatorEnum_type; }
@@ -6162,6 +6678,10 @@ Ifc4x3_rc1::IfcLogicalOperatorEnum::Value Ifc4x3_rc1::IfcLogicalOperatorEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcLogicalOperatorEnum::operator Ifc4x3_rc1::IfcLogicalOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMarineFacilityTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMarineFacilityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Class() { return *IFC4X3_RC1_IfcMarineFacilityTypeEnum_type; }
@@ -6212,6 +6732,10 @@ Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc1::IfcMarineFacilityTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMarinePartTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMarinePartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMarinePartTypeEnum::Class() { return *IFC4X3_RC1_IfcMarinePartTypeEnum_type; }
@@ -6267,6 +6791,10 @@ Ifc4x3_rc1::IfcMarinePartTypeEnum::Value Ifc4x3_rc1::IfcMarinePartTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMarinePartTypeEnum::operator Ifc4x3_rc1::IfcMarinePartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMechanicalFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class() { return *IFC4X3_RC1_IfcMechanicalFastenerTypeEnum_type; }
@@ -6313,6 +6841,10 @@ Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc1::IfcMechanicalFasten
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMedicalDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcMedicalDeviceTypeEnum_type; }
@@ -6349,6 +6881,10 @@ Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc1::IfcMedicalDeviceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMemberTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMemberTypeEnum::Class() { return *IFC4X3_RC1_IfcMemberTypeEnum_type; }
@@ -6399,6 +6935,10 @@ Ifc4x3_rc1::IfcMemberTypeEnum::Value Ifc4x3_rc1::IfcMemberTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMemberTypeEnum::operator Ifc4x3_rc1::IfcMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMobileTelecommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class() { return *IFC4X3_RC1_IfcMobileTelecommunicationsApplianceTypeEnum_type; }
@@ -6437,6 +6977,10 @@ Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcM
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMooringDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMooringDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcMooringDeviceTypeEnum_type; }
@@ -6473,6 +7017,10 @@ Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc1::IfcMooringDeviceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMotorConnectionTypeEnum::declaration() const { return *IFC4X3_RC1_IfcMotorConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class() { return *IFC4X3_RC1_IfcMotorConnectionTypeEnum_type; }
@@ -6507,6 +7055,10 @@ Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc1::IfcMotorConnectionType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcNavigationElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcNavigationElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class() { return *IFC4X3_RC1_IfcNavigationElementTypeEnum_type; }
@@ -6540,6 +7092,10 @@ Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value Ifc4x3_rc1::IfcNavigationElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcNavigationElementTypeEnum::operator Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcNullStyle::declaration() const { return *IFC4X3_RC1_IfcNullStyle_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcNullStyle::Class() { return *IFC4X3_RC1_IfcNullStyle_type; }
@@ -6570,6 +7126,10 @@ Ifc4x3_rc1::IfcNullStyle::Value Ifc4x3_rc1::IfcNullStyle::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcNullStyle::operator Ifc4x3_rc1::IfcNullStyle::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcObjectTypeEnum::declaration() const { return *IFC4X3_RC1_IfcObjectTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcObjectTypeEnum::Class() { return *IFC4X3_RC1_IfcObjectTypeEnum_type; }
@@ -6607,6 +7167,10 @@ Ifc4x3_rc1::IfcObjectTypeEnum::Value Ifc4x3_rc1::IfcObjectTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcObjectTypeEnum::operator Ifc4x3_rc1::IfcObjectTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcObjectiveEnum::declaration() const { return *IFC4X3_RC1_IfcObjectiveEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcObjectiveEnum::Class() { return *IFC4X3_RC1_IfcObjectiveEnum_type; }
@@ -6649,6 +7213,10 @@ Ifc4x3_rc1::IfcObjectiveEnum::Value Ifc4x3_rc1::IfcObjectiveEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcObjectiveEnum::operator Ifc4x3_rc1::IfcObjectiveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOccupantTypeEnum::declaration() const { return *IFC4X3_RC1_IfcOccupantTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOccupantTypeEnum::Class() { return *IFC4X3_RC1_IfcOccupantTypeEnum_type; }
@@ -6687,6 +7255,10 @@ Ifc4x3_rc1::IfcOccupantTypeEnum::Value Ifc4x3_rc1::IfcOccupantTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcOccupantTypeEnum::operator Ifc4x3_rc1::IfcOccupantTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOpeningElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcOpeningElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class() { return *IFC4X3_RC1_IfcOpeningElementTypeEnum_type; }
@@ -6720,6 +7292,10 @@ Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value Ifc4x3_rc1::IfcOpeningElementTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcOpeningElementTypeEnum::operator Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOutletTypeEnum::declaration() const { return *IFC4X3_RC1_IfcOutletTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOutletTypeEnum::Class() { return *IFC4X3_RC1_IfcOutletTypeEnum_type; }
@@ -6756,6 +7332,10 @@ Ifc4x3_rc1::IfcOutletTypeEnum::Value Ifc4x3_rc1::IfcOutletTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcOutletTypeEnum::operator Ifc4x3_rc1::IfcOutletTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPerformanceHistoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Class() { return *IFC4X3_RC1_IfcPerformanceHistoryTypeEnum_type; }
@@ -6787,6 +7367,10 @@ Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc1::IfcPerformanceHisto
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC4X3_RC1_IfcPermeableCoveringOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Class() { return *IFC4X3_RC1_IfcPermeableCoveringOperationEnum_type; }
@@ -6821,6 +7405,10 @@ Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc1::IfcPermeableCov
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPermitTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPermitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPermitTypeEnum::Class() { return *IFC4X3_RC1_IfcPermitTypeEnum_type; }
@@ -6855,6 +7443,10 @@ Ifc4x3_rc1::IfcPermitTypeEnum::Value Ifc4x3_rc1::IfcPermitTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPermitTypeEnum::operator Ifc4x3_rc1::IfcPermitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC4X3_RC1_IfcPhysicalOrVirtualEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class() { return *IFC4X3_RC1_IfcPhysicalOrVirtualEnum_type; }
@@ -6887,6 +7479,10 @@ Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc1::IfcPhysicalOrVirtualEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPileConstructionEnum::declaration() const { return *IFC4X3_RC1_IfcPileConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPileConstructionEnum::Class() { return *IFC4X3_RC1_IfcPileConstructionEnum_type; }
@@ -6922,6 +7518,10 @@ Ifc4x3_rc1::IfcPileConstructionEnum::Value Ifc4x3_rc1::IfcPileConstructionEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPileConstructionEnum::operator Ifc4x3_rc1::IfcPileConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPileTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPileTypeEnum::Class() { return *IFC4X3_RC1_IfcPileTypeEnum_type; }
@@ -6959,6 +7559,10 @@ Ifc4x3_rc1::IfcPileTypeEnum::Value Ifc4x3_rc1::IfcPileTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPileTypeEnum::operator Ifc4x3_rc1::IfcPileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPipeFittingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPipeFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class() { return *IFC4X3_RC1_IfcPipeFittingTypeEnum_type; }
@@ -6997,6 +7601,10 @@ Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value Ifc4x3_rc1::IfcPipeFittingTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPipeFittingTypeEnum::operator Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPipeSegmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPipeSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class() { return *IFC4X3_RC1_IfcPipeSegmentTypeEnum_type; }
@@ -7033,6 +7641,10 @@ Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPlateTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPlateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPlateTypeEnum::Class() { return *IFC4X3_RC1_IfcPlateTypeEnum_type; }
@@ -7073,6 +7685,10 @@ Ifc4x3_rc1::IfcPlateTypeEnum::Value Ifc4x3_rc1::IfcPlateTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPlateTypeEnum::operator Ifc4x3_rc1::IfcPlateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *IFC4X3_RC1_IfcPreferredSurfaceCurveRepresentation_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class() { return *IFC4X3_RC1_IfcPreferredSurfaceCurveRepresentation_type; }
@@ -7105,6 +7721,10 @@ Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc1::IfcPreferr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProcedureTypeEnum::declaration() const { return *IFC4X3_RC1_IfcProcedureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProcedureTypeEnum::Class() { return *IFC4X3_RC1_IfcProcedureTypeEnum_type; }
@@ -7143,6 +7763,10 @@ Ifc4x3_rc1::IfcProcedureTypeEnum::Value Ifc4x3_rc1::IfcProcedureTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProcedureTypeEnum::operator Ifc4x3_rc1::IfcProcedureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProfileTypeEnum::declaration() const { return *IFC4X3_RC1_IfcProfileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProfileTypeEnum::Class() { return *IFC4X3_RC1_IfcProfileTypeEnum_type; }
@@ -7174,6 +7798,10 @@ Ifc4x3_rc1::IfcProfileTypeEnum::Value Ifc4x3_rc1::IfcProfileTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProfileTypeEnum::operator Ifc4x3_rc1::IfcProfileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectOrderTypeEnum::declaration() const { return *IFC4X3_RC1_IfcProjectOrderTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class() { return *IFC4X3_RC1_IfcProjectOrderTypeEnum_type; }
@@ -7210,6 +7838,10 @@ Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value Ifc4x3_rc1::IfcProjectOrderTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProjectOrderTypeEnum::operator Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC4X3_RC1_IfcProjectedOrTrueLengthEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class() { return *IFC4X3_RC1_IfcProjectedOrTrueLengthEnum_type; }
@@ -7241,6 +7873,10 @@ Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc1::IfcProjectedOrTrueLe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectionElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcProjectionElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectionElementTypeEnum::Class() { return *IFC4X3_RC1_IfcProjectionElementTypeEnum_type; }
@@ -7274,6 +7910,10 @@ Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value Ifc4x3_rc1::IfcProjectionElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProjectionElementTypeEnum::operator Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPropertySetTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class() { return *IFC4X3_RC1_IfcPropertySetTemplateTypeEnum_type; }
@@ -7311,6 +7951,10 @@ Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc1::IfcPropertySetTemp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *IFC4X3_RC1_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *IFC4X3_RC1_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
@@ -7346,6 +7990,10 @@ Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc1::IfcProtec
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcProtectiveDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcProtectiveDeviceTypeEnum_type; }
@@ -7387,6 +8035,10 @@ Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPumpTypeEnum::declaration() const { return *IFC4X3_RC1_IfcPumpTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPumpTypeEnum::Class() { return *IFC4X3_RC1_IfcPumpTypeEnum_type; }
@@ -7425,6 +8077,10 @@ Ifc4x3_rc1::IfcPumpTypeEnum::Value Ifc4x3_rc1::IfcPumpTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcPumpTypeEnum::operator Ifc4x3_rc1::IfcPumpTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRailTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailTypeEnum::Class() { return *IFC4X3_RC1_IfcRailTypeEnum_type; }
@@ -7462,6 +8118,10 @@ Ifc4x3_rc1::IfcRailTypeEnum::Value Ifc4x3_rc1::IfcRailTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRailTypeEnum::operator Ifc4x3_rc1::IfcRailTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailingTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRailingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailingTypeEnum::Class() { return *IFC4X3_RC1_IfcRailingTypeEnum_type; }
@@ -7497,6 +8157,10 @@ Ifc4x3_rc1::IfcRailingTypeEnum::Value Ifc4x3_rc1::IfcRailingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRailingTypeEnum::operator Ifc4x3_rc1::IfcRailingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailwayPartTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRailwayPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailwayPartTypeEnum::Class() { return *IFC4X3_RC1_IfcRailwayPartTypeEnum_type; }
@@ -7536,6 +8200,10 @@ Ifc4x3_rc1::IfcRailwayPartTypeEnum::Value Ifc4x3_rc1::IfcRailwayPartTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRailwayPartTypeEnum::operator Ifc4x3_rc1::IfcRailwayPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRampFlightTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRampFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRampFlightTypeEnum::Class() { return *IFC4X3_RC1_IfcRampFlightTypeEnum_type; }
@@ -7569,6 +8237,10 @@ Ifc4x3_rc1::IfcRampFlightTypeEnum::Value Ifc4x3_rc1::IfcRampFlightTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRampFlightTypeEnum::operator Ifc4x3_rc1::IfcRampFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRampTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRampTypeEnum::Class() { return *IFC4X3_RC1_IfcRampTypeEnum_type; }
@@ -7606,6 +8278,10 @@ Ifc4x3_rc1::IfcRampTypeEnum::Value Ifc4x3_rc1::IfcRampTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRampTypeEnum::operator Ifc4x3_rc1::IfcRampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRecurrenceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRecurrenceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class() { return *IFC4X3_RC1_IfcRecurrenceTypeEnum_type; }
@@ -7643,6 +8319,10 @@ Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value Ifc4x3_rc1::IfcRecurrenceTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRecurrenceTypeEnum::operator Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReferentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcReferentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReferentTypeEnum::Class() { return *IFC4X3_RC1_IfcReferentTypeEnum_type; }
@@ -7678,6 +8358,10 @@ Ifc4x3_rc1::IfcReferentTypeEnum::Value Ifc4x3_rc1::IfcReferentTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReferentTypeEnum::operator Ifc4x3_rc1::IfcReferentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReflectanceMethodEnum::declaration() const { return *IFC4X3_RC1_IfcReflectanceMethodEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReflectanceMethodEnum::Class() { return *IFC4X3_RC1_IfcReflectanceMethodEnum_type; }
@@ -7717,6 +8401,10 @@ Ifc4x3_rc1::IfcReflectanceMethodEnum::Value Ifc4x3_rc1::IfcReflectanceMethodEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReflectanceMethodEnum::operator Ifc4x3_rc1::IfcReflectanceMethodEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::declaration() const { return *IFC4X3_RC1_IfcReinforcedSoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Class() { return *IFC4X3_RC1_IfcReinforcedSoilTypeEnum_type; }
@@ -7754,6 +8442,10 @@ Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc1::IfcReinforcedSoilTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarRoleEnum::declaration() const { return *IFC4X3_RC1_IfcReinforcingBarRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class() { return *IFC4X3_RC1_IfcReinforcingBarRoleEnum_type; }
@@ -7793,6 +8485,10 @@ Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcReinforcingBarRoleEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC4X3_RC1_IfcReinforcingBarSurfaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class() { return *IFC4X3_RC1_IfcReinforcingBarSurfaceEnum_type; }
@@ -7824,6 +8520,10 @@ Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc1::IfcReinforcingBarSur
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarTypeEnum::declaration() const { return *IFC4X3_RC1_IfcReinforcingBarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class() { return *IFC4X3_RC1_IfcReinforcingBarTypeEnum_type; }
@@ -7864,6 +8564,10 @@ Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc1::IfcReinforcingBarTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::declaration() const { return *IFC4X3_RC1_IfcReinforcingMeshTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class() { return *IFC4X3_RC1_IfcReinforcingMeshTypeEnum_type; }
@@ -7895,6 +8599,10 @@ Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc1::IfcReinforcingMeshType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoadPartTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRoadPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoadPartTypeEnum::Class() { return *IFC4X3_RC1_IfcRoadPartTypeEnum_type; }
@@ -7950,6 +8658,10 @@ Ifc4x3_rc1::IfcRoadPartTypeEnum::Value Ifc4x3_rc1::IfcRoadPartTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRoadPartTypeEnum::operator Ifc4x3_rc1::IfcRoadPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoleEnum::declaration() const { return *IFC4X3_RC1_IfcRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoleEnum::Class() { return *IFC4X3_RC1_IfcRoleEnum_type; }
@@ -8002,6 +8714,10 @@ Ifc4x3_rc1::IfcRoleEnum::Value Ifc4x3_rc1::IfcRoleEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRoleEnum::operator Ifc4x3_rc1::IfcRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoofTypeEnum::declaration() const { return *IFC4X3_RC1_IfcRoofTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoofTypeEnum::Class() { return *IFC4X3_RC1_IfcRoofTypeEnum_type; }
@@ -8046,6 +8762,10 @@ Ifc4x3_rc1::IfcRoofTypeEnum::Value Ifc4x3_rc1::IfcRoofTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcRoofTypeEnum::operator Ifc4x3_rc1::IfcRoofTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSIPrefix::declaration() const { return *IFC4X3_RC1_IfcSIPrefix_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSIPrefix::Class() { return *IFC4X3_RC1_IfcSIPrefix_type; }
@@ -8091,6 +8811,10 @@ Ifc4x3_rc1::IfcSIPrefix::Value Ifc4x3_rc1::IfcSIPrefix::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSIPrefix::operator Ifc4x3_rc1::IfcSIPrefix::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSIUnitName::declaration() const { return *IFC4X3_RC1_IfcSIUnitName_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSIUnitName::Class() { return *IFC4X3_RC1_IfcSIUnitName_type; }
@@ -8150,6 +8874,10 @@ Ifc4x3_rc1::IfcSIUnitName::Value Ifc4x3_rc1::IfcSIUnitName::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSIUnitName::operator Ifc4x3_rc1::IfcSIUnitName::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSanitaryTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class() { return *IFC4X3_RC1_IfcSanitaryTerminalTypeEnum_type; }
@@ -8191,6 +8919,10 @@ Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc1::IfcSanitaryTerminalTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSectionTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSectionTypeEnum::Class() { return *IFC4X3_RC1_IfcSectionTypeEnum_type; }
@@ -8222,6 +8954,10 @@ Ifc4x3_rc1::IfcSectionTypeEnum::Value Ifc4x3_rc1::IfcSectionTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSectionTypeEnum::operator Ifc4x3_rc1::IfcSectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSensorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSensorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSensorTypeEnum::Class() { return *IFC4X3_RC1_IfcSensorTypeEnum_type; }
@@ -8285,6 +9021,10 @@ Ifc4x3_rc1::IfcSensorTypeEnum::Value Ifc4x3_rc1::IfcSensorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSensorTypeEnum::operator Ifc4x3_rc1::IfcSensorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSequenceEnum::declaration() const { return *IFC4X3_RC1_IfcSequenceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSequenceEnum::Class() { return *IFC4X3_RC1_IfcSequenceEnum_type; }
@@ -8320,6 +9060,10 @@ Ifc4x3_rc1::IfcSequenceEnum::Value Ifc4x3_rc1::IfcSequenceEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSequenceEnum::operator Ifc4x3_rc1::IfcSequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcShadingDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcShadingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcShadingDeviceTypeEnum_type; }
@@ -8354,6 +9098,10 @@ Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc1::IfcShadingDeviceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSignTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSignTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSignTypeEnum::Class() { return *IFC4X3_RC1_IfcSignTypeEnum_type; }
@@ -8388,6 +9136,10 @@ Ifc4x3_rc1::IfcSignTypeEnum::Value Ifc4x3_rc1::IfcSignTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSignTypeEnum::operator Ifc4x3_rc1::IfcSignTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSignalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSignalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSignalTypeEnum::Class() { return *IFC4X3_RC1_IfcSignalTypeEnum_type; }
@@ -8422,6 +9174,10 @@ Ifc4x3_rc1::IfcSignalTypeEnum::Value Ifc4x3_rc1::IfcSignalTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSignalTypeEnum::operator Ifc4x3_rc1::IfcSignalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSimplePropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Class() { return *IFC4X3_RC1_IfcSimplePropertyTemplateTypeEnum_type; }
@@ -8463,6 +9219,10 @@ Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc1::IfcSimpleProper
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSlabTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSlabTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSlabTypeEnum::Class() { return *IFC4X3_RC1_IfcSlabTypeEnum_type; }
@@ -8503,6 +9263,10 @@ Ifc4x3_rc1::IfcSlabTypeEnum::Value Ifc4x3_rc1::IfcSlabTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSlabTypeEnum::operator Ifc4x3_rc1::IfcSlabTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSolarDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSolarDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcSolarDeviceTypeEnum_type; }
@@ -8536,6 +9300,10 @@ Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSpaceHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class() { return *IFC4X3_RC1_IfcSpaceHeaterTypeEnum_type; }
@@ -8569,6 +9337,10 @@ Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpaceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSpaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpaceTypeEnum::Class() { return *IFC4X3_RC1_IfcSpaceTypeEnum_type; }
@@ -8605,6 +9377,10 @@ Ifc4x3_rc1::IfcSpaceTypeEnum::Value Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSpaceTypeEnum::operator Ifc4x3_rc1::IfcSpaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpatialZoneTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSpatialZoneTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class() { return *IFC4X3_RC1_IfcSpatialZoneTypeEnum_type; }
@@ -8645,6 +9421,10 @@ Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStackTerminalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStackTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class() { return *IFC4X3_RC1_IfcStackTerminalTypeEnum_type; }
@@ -8679,6 +9459,10 @@ Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value Ifc4x3_rc1::IfcStackTerminalTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStackTerminalTypeEnum::operator Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStairFlightTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStairFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStairFlightTypeEnum::Class() { return *IFC4X3_RC1_IfcStairFlightTypeEnum_type; }
@@ -8715,6 +9499,10 @@ Ifc4x3_rc1::IfcStairFlightTypeEnum::Value Ifc4x3_rc1::IfcStairFlightTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStairFlightTypeEnum::operator Ifc4x3_rc1::IfcStairFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStairTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStairTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStairTypeEnum::Class() { return *IFC4X3_RC1_IfcStairTypeEnum_type; }
@@ -8761,6 +9549,10 @@ Ifc4x3_rc1::IfcStairTypeEnum::Value Ifc4x3_rc1::IfcStairTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStairTypeEnum::operator Ifc4x3_rc1::IfcStairTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStateEnum::declaration() const { return *IFC4X3_RC1_IfcStateEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStateEnum::Class() { return *IFC4X3_RC1_IfcStateEnum_type; }
@@ -8795,6 +9587,10 @@ Ifc4x3_rc1::IfcStateEnum::Value Ifc4x3_rc1::IfcStateEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStateEnum::operator Ifc4x3_rc1::IfcStateEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStructuralCurveActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class() { return *IFC4X3_RC1_IfcStructuralCurveActivityTypeEnum_type; }
@@ -8833,6 +9629,10 @@ Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralC
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStructuralCurveMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class() { return *IFC4X3_RC1_IfcStructuralCurveMemberTypeEnum_type; }
@@ -8869,6 +9669,10 @@ Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCur
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStructuralSurfaceActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class() { return *IFC4X3_RC1_IfcStructuralSurfaceActivityTypeEnum_type; }
@@ -8904,6 +9708,10 @@ Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructura
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *IFC4X3_RC1_IfcStructuralSurfaceMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class() { return *IFC4X3_RC1_IfcStructuralSurfaceMemberTypeEnum_type; }
@@ -8938,6 +9746,10 @@ Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralS
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSubContractResourceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSubContractResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class() { return *IFC4X3_RC1_IfcSubContractResourceTypeEnum_type; }
@@ -8971,6 +9783,10 @@ Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc1::IfcSubContractReso
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSurfaceFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Class() { return *IFC4X3_RC1_IfcSurfaceFeatureTypeEnum_type; }
@@ -9013,6 +9829,10 @@ Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc1::IfcSurfaceFeatureTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSurfaceSide::declaration() const { return *IFC4X3_RC1_IfcSurfaceSide_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSurfaceSide::Class() { return *IFC4X3_RC1_IfcSurfaceSide_type; }
@@ -9045,6 +9865,10 @@ Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceSide::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSurfaceSide::operator Ifc4x3_rc1::IfcSurfaceSide::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSwitchingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class() { return *IFC4X3_RC1_IfcSwitchingDeviceTypeEnum_type; }
@@ -9087,6 +9911,10 @@ Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc1::IfcSwitchingDeviceType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcSystemFurnitureElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class() { return *IFC4X3_RC1_IfcSystemFurnitureElementTypeEnum_type; }
@@ -9121,6 +9949,10 @@ Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc1::IfcSystemFurnit
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTankTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTankTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTankTypeEnum::Class() { return *IFC4X3_RC1_IfcTankTypeEnum_type; }
@@ -9160,6 +9992,10 @@ Ifc4x3_rc1::IfcTankTypeEnum::Value Ifc4x3_rc1::IfcTankTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTankTypeEnum::operator Ifc4x3_rc1::IfcTankTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTaskDurationEnum::declaration() const { return *IFC4X3_RC1_IfcTaskDurationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTaskDurationEnum::Class() { return *IFC4X3_RC1_IfcTaskDurationEnum_type; }
@@ -9192,6 +10028,10 @@ Ifc4x3_rc1::IfcTaskDurationEnum::Value Ifc4x3_rc1::IfcTaskDurationEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTaskDurationEnum::operator Ifc4x3_rc1::IfcTaskDurationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTaskTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTaskTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTaskTypeEnum::Class() { return *IFC4X3_RC1_IfcTaskTypeEnum_type; }
@@ -9235,6 +10075,10 @@ Ifc4x3_rc1::IfcTaskTypeEnum::Value Ifc4x3_rc1::IfcTaskTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTaskTypeEnum::operator Ifc4x3_rc1::IfcTaskTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonAnchorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTendonAnchorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class() { return *IFC4X3_RC1_IfcTendonAnchorTypeEnum_type; }
@@ -9269,6 +10113,10 @@ Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc1::IfcTendonAnchorTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonConduitTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTendonConduitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class() { return *IFC4X3_RC1_IfcTendonConduitTypeEnum_type; }
@@ -9305,6 +10153,10 @@ Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduitTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTendonConduitTypeEnum::operator Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTendonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonTypeEnum::Class() { return *IFC4X3_RC1_IfcTendonTypeEnum_type; }
@@ -9340,6 +10192,10 @@ Ifc4x3_rc1::IfcTendonTypeEnum::Value Ifc4x3_rc1::IfcTendonTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTendonTypeEnum::operator Ifc4x3_rc1::IfcTendonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTextPath::declaration() const { return *IFC4X3_RC1_IfcTextPath_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTextPath::Class() { return *IFC4X3_RC1_IfcTextPath_type; }
@@ -9373,6 +10229,10 @@ Ifc4x3_rc1::IfcTextPath::Value Ifc4x3_rc1::IfcTextPath::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTextPath::operator Ifc4x3_rc1::IfcTextPath::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTimeSeriesDataTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class() { return *IFC4X3_RC1_IfcTimeSeriesDataTypeEnum_type; }
@@ -9409,6 +10269,10 @@ Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc1::IfcTimeSeriesDataTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTrackElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTrackElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTrackElementTypeEnum::Class() { return *IFC4X3_RC1_IfcTrackElementTypeEnum_type; }
@@ -9448,6 +10312,10 @@ Ifc4x3_rc1::IfcTrackElementTypeEnum::Value Ifc4x3_rc1::IfcTrackElementTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTrackElementTypeEnum::operator Ifc4x3_rc1::IfcTrackElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransformerTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTransformerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransformerTypeEnum::Class() { return *IFC4X3_RC1_IfcTransformerTypeEnum_type; }
@@ -9486,6 +10354,10 @@ Ifc4x3_rc1::IfcTransformerTypeEnum::Value Ifc4x3_rc1::IfcTransformerTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTransformerTypeEnum::operator Ifc4x3_rc1::IfcTransformerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransitionCode::declaration() const { return *IFC4X3_RC1_IfcTransitionCode_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransitionCode::Class() { return *IFC4X3_RC1_IfcTransitionCode_type; }
@@ -9519,6 +10391,10 @@ Ifc4x3_rc1::IfcTransitionCode::Value Ifc4x3_rc1::IfcTransitionCode::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTransitionCode::operator Ifc4x3_rc1::IfcTransitionCode::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransitionCurveType::declaration() const { return *IFC4X3_RC1_IfcTransitionCurveType_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransitionCurveType::Class() { return *IFC4X3_RC1_IfcTransitionCurveType_type; }
@@ -9554,6 +10430,10 @@ Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcTransitionCurveType::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTransitionCurveType::operator Ifc4x3_rc1::IfcTransitionCurveType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTransportElementFixedTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Class() { return *IFC4X3_RC1_IfcTransportElementFixedTypeEnum_type; }
@@ -9590,6 +10470,10 @@ Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Value Ifc4x3_rc1::IfcTransportElem
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTransportElementNonFixedTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Class() { return *IFC4X3_RC1_IfcTransportElementNonFixedTypeEnum_type; }
@@ -9628,6 +10512,10 @@ Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Value Ifc4x3_rc1::IfcTransportE
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTrimmingPreference::declaration() const { return *IFC4X3_RC1_IfcTrimmingPreference_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTrimmingPreference::Class() { return *IFC4X3_RC1_IfcTrimmingPreference_type; }
@@ -9660,6 +10548,10 @@ Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmingPreference::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTrimmingPreference::operator Ifc4x3_rc1::IfcTrimmingPreference::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTubeBundleTypeEnum::declaration() const { return *IFC4X3_RC1_IfcTubeBundleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class() { return *IFC4X3_RC1_IfcTubeBundleTypeEnum_type; }
@@ -9692,6 +10584,10 @@ Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value Ifc4x3_rc1::IfcTubeBundleTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcTubeBundleTypeEnum::operator Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitEnum::declaration() const { return *IFC4X3_RC1_IfcUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitEnum::Class() { return *IFC4X3_RC1_IfcUnitEnum_type; }
@@ -9751,6 +10647,10 @@ Ifc4x3_rc1::IfcUnitEnum::Value Ifc4x3_rc1::IfcUnitEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcUnitEnum::operator Ifc4x3_rc1::IfcUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::declaration() const { return *IFC4X3_RC1_IfcUnitaryControlElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class() { return *IFC4X3_RC1_IfcUnitaryControlElementTypeEnum_type; }
@@ -9791,6 +10691,10 @@ Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc1::IfcUnitaryContro
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC4X3_RC1_IfcUnitaryEquipmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC4X3_RC1_IfcUnitaryEquipmentTypeEnum_type; }
@@ -9827,6 +10731,10 @@ Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc1::IfcUnitaryEquipmentTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcValveTypeEnum::declaration() const { return *IFC4X3_RC1_IfcValveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcValveTypeEnum::Class() { return *IFC4X3_RC1_IfcValveTypeEnum_type; }
@@ -9879,6 +10787,10 @@ Ifc4x3_rc1::IfcValveTypeEnum::Value Ifc4x3_rc1::IfcValveTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcValveTypeEnum::operator Ifc4x3_rc1::IfcValveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVibrationDamperTypeEnum::declaration() const { return *IFC4X3_RC1_IfcVibrationDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class() { return *IFC4X3_RC1_IfcVibrationDamperTypeEnum_type; }
@@ -9916,6 +10828,10 @@ Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc1::IfcVibrationDamperType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC4X3_RC1_IfcVibrationIsolatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class() { return *IFC4X3_RC1_IfcVibrationIsolatorTypeEnum_type; }
@@ -9950,6 +10866,10 @@ Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc1::IfcVibrationIsolator
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::declaration() const { return *IFC4X3_RC1_IfcVoidingFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Class() { return *IFC4X3_RC1_IfcVoidingFeatureTypeEnum_type; }
@@ -9987,6 +10907,10 @@ Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc1::IfcVoidingFeatureTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWallTypeEnum::declaration() const { return *IFC4X3_RC1_IfcWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWallTypeEnum::Class() { return *IFC4X3_RC1_IfcWallTypeEnum_type; }
@@ -10029,6 +10953,10 @@ Ifc4x3_rc1::IfcWallTypeEnum::Value Ifc4x3_rc1::IfcWallTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWallTypeEnum::operator Ifc4x3_rc1::IfcWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWasteTerminalTypeEnum::declaration() const { return *IFC4X3_RC1_IfcWasteTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class() { return *IFC4X3_RC1_IfcWasteTerminalTypeEnum_type; }
@@ -10067,6 +10995,10 @@ Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc1::IfcWasteTerminalTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowPanelOperationEnum::declaration() const { return *IFC4X3_RC1_IfcWindowPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowPanelOperationEnum::Class() { return *IFC4X3_RC1_IfcWindowPanelOperationEnum_type; }
@@ -10110,6 +11042,10 @@ Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value Ifc4x3_rc1::IfcWindowPanelOperati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWindowPanelOperationEnum::operator Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowPanelPositionEnum::declaration() const { return *IFC4X3_RC1_IfcWindowPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class() { return *IFC4X3_RC1_IfcWindowPanelPositionEnum_type; }
@@ -10145,6 +11081,10 @@ Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcWindowPanelPosition
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWindowPanelPositionEnum::operator Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowStyleConstructionEnum::declaration() const { return *IFC4X3_RC1_IfcWindowStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Class() { return *IFC4X3_RC1_IfcWindowStyleConstructionEnum_type; }
@@ -10182,6 +11122,10 @@ Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc1::IfcWindowStyleCons
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowStyleOperationEnum::declaration() const { return *IFC4X3_RC1_IfcWindowStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowStyleOperationEnum::Class() { return *IFC4X3_RC1_IfcWindowStyleOperationEnum_type; }
@@ -10222,6 +11166,10 @@ Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value Ifc4x3_rc1::IfcWindowStyleOperati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWindowStyleOperationEnum::operator Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowTypeEnum::declaration() const { return *IFC4X3_RC1_IfcWindowTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowTypeEnum::Class() { return *IFC4X3_RC1_IfcWindowTypeEnum_type; }
@@ -10256,6 +11204,10 @@ Ifc4x3_rc1::IfcWindowTypeEnum::Value Ifc4x3_rc1::IfcWindowTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWindowTypeEnum::operator Ifc4x3_rc1::IfcWindowTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowTypePartitioningEnum::declaration() const { return *IFC4X3_RC1_IfcWindowTypePartitioningEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class() { return *IFC4X3_RC1_IfcWindowTypePartitioningEnum_type; }
@@ -10296,6 +11248,10 @@ Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc1::IfcWindowTypePartit
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkCalendarTypeEnum::declaration() const { return *IFC4X3_RC1_IfcWorkCalendarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class() { return *IFC4X3_RC1_IfcWorkCalendarTypeEnum_type; }
@@ -10330,6 +11286,10 @@ Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc1::IfcWorkCalendarTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkPlanTypeEnum::declaration() const { return *IFC4X3_RC1_IfcWorkPlanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class() { return *IFC4X3_RC1_IfcWorkPlanTypeEnum_type; }
@@ -10364,6 +11324,10 @@ Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value Ifc4x3_rc1::IfcWorkPlanTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWorkPlanTypeEnum::operator Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkScheduleTypeEnum::declaration() const { return *IFC4X3_RC1_IfcWorkScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class() { return *IFC4X3_RC1_IfcWorkScheduleTypeEnum_type; }
@@ -10398,6 +11362,10 @@ Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc1::IfcWorkScheduleTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc1::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
// Function implementations for IfcAbsorbedDoseMeasure
const IfcParse::type_declaration& Ifc4x3_rc1::IfcAbsorbedDoseMeasure::Class() { return *IFC4X3_RC1_IfcAbsorbedDoseMeasure_type; }
diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp
index af4747ff1d..2c268fc050 100644
--- a/src/ifcparse/Ifc4x3_rc2.cpp
+++ b/src/ifcparse/Ifc4x3_rc2.cpp
@@ -1335,6 +1335,10 @@ Ifc4x3_rc2::IfcActionRequestTypeEnum::Value Ifc4x3_rc2::IfcActionRequestTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcActionRequestTypeEnum::operator Ifc4x3_rc2::IfcActionRequestTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionSourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcActionSourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionSourceTypeEnum::Class() { return *IFC4X3_RC2_IfcActionSourceTypeEnum_type; }
@@ -1391,6 +1395,10 @@ Ifc4x3_rc2::IfcActionSourceTypeEnum::Value Ifc4x3_rc2::IfcActionSourceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcActionSourceTypeEnum::operator Ifc4x3_rc2::IfcActionSourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionTypeEnum::declaration() const { return *IFC4X3_RC2_IfcActionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionTypeEnum::Class() { return *IFC4X3_RC2_IfcActionTypeEnum_type; }
@@ -1425,6 +1433,10 @@ Ifc4x3_rc2::IfcActionTypeEnum::Value Ifc4x3_rc2::IfcActionTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcActionTypeEnum::operator Ifc4x3_rc2::IfcActionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActuatorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcActuatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActuatorTypeEnum::Class() { return *IFC4X3_RC2_IfcActuatorTypeEnum_type; }
@@ -1461,6 +1473,10 @@ Ifc4x3_rc2::IfcActuatorTypeEnum::Value Ifc4x3_rc2::IfcActuatorTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcActuatorTypeEnum::operator Ifc4x3_rc2::IfcActuatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAddressTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAddressTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAddressTypeEnum::Class() { return *IFC4X3_RC2_IfcAddressTypeEnum_type; }
@@ -1495,6 +1511,10 @@ Ifc4x3_rc2::IfcAddressTypeEnum::Value Ifc4x3_rc2::IfcAddressTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAddressTypeEnum::operator Ifc4x3_rc2::IfcAddressTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAirTerminalBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class() { return *IFC4X3_RC2_IfcAirTerminalBoxTypeEnum_type; }
@@ -1529,6 +1549,10 @@ Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalBoxTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirTerminalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAirTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class() { return *IFC4X3_RC2_IfcAirTerminalTypeEnum_type; }
@@ -1564,6 +1588,10 @@ Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAirTerminalTypeEnum::operator Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAirToAirHeatRecoveryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC4X3_RC2_IfcAirToAirHeatRecoveryTypeEnum_type; }
@@ -1604,6 +1632,10 @@ Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc2::IfcAirToAirHeatRe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlarmTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAlarmTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlarmTypeEnum::Class() { return *IFC4X3_RC2_IfcAlarmTypeEnum_type; }
@@ -1643,6 +1675,10 @@ Ifc4x3_rc2::IfcAlarmTypeEnum::Value Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAlarmTypeEnum::operator Ifc4x3_rc2::IfcAlarmTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAlignmentCantSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcAlignmentCantSegmentTypeEnum_type; }
@@ -1679,6 +1715,10 @@ Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentCantS
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAlignmentHorizontalSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcAlignmentHorizontalSegmentTypeEnum_type; }
@@ -1717,6 +1757,10 @@ Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmen
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAlignmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentTypeEnum::Class() { return *IFC4X3_RC2_IfcAlignmentTypeEnum_type; }
@@ -1748,6 +1792,10 @@ Ifc4x3_rc2::IfcAlignmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAlignmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAlignmentVerticalSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcAlignmentVerticalSegmentTypeEnum_type; }
@@ -1781,6 +1829,10 @@ Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentV
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnalysisModelTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAnalysisModelTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class() { return *IFC4X3_RC2_IfcAnalysisModelTypeEnum_type; }
@@ -1815,6 +1867,10 @@ Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcAnalysisModelTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAnalysisModelTypeEnum::operator Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAnalysisTheoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class() { return *IFC4X3_RC2_IfcAnalysisTheoryTypeEnum_type; }
@@ -1850,6 +1906,10 @@ Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcAnalysisTheoryTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnnotationTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAnnotationTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnnotationTypeEnum::Class() { return *IFC4X3_RC2_IfcAnnotationTypeEnum_type; }
@@ -1890,6 +1950,10 @@ Ifc4x3_rc2::IfcAnnotationTypeEnum::Value Ifc4x3_rc2::IfcAnnotationTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAnnotationTypeEnum::operator Ifc4x3_rc2::IfcAnnotationTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcArithmeticOperatorEnum::declaration() const { return *IFC4X3_RC2_IfcArithmeticOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class() { return *IFC4X3_RC2_IfcArithmeticOperatorEnum_type; }
@@ -1923,6 +1987,10 @@ Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value Ifc4x3_rc2::IfcArithmeticOperatorEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcArithmeticOperatorEnum::operator Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAssemblyPlaceEnum::declaration() const { return *IFC4X3_RC2_IfcAssemblyPlaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class() { return *IFC4X3_RC2_IfcAssemblyPlaceEnum_type; }
@@ -1955,6 +2023,10 @@ Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAssemblyPlaceEnum::operator Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcAudioVisualApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class() { return *IFC4X3_RC2_IfcAudioVisualApplianceTypeEnum_type; }
@@ -1998,6 +2070,10 @@ Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc2::IfcAudioVisualApp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBSplineCurveForm::declaration() const { return *IFC4X3_RC2_IfcBSplineCurveForm_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBSplineCurveForm::Class() { return *IFC4X3_RC2_IfcBSplineCurveForm_type; }
@@ -2033,6 +2109,10 @@ Ifc4x3_rc2::IfcBSplineCurveForm::Value Ifc4x3_rc2::IfcBSplineCurveForm::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBSplineCurveForm::operator Ifc4x3_rc2::IfcBSplineCurveForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBSplineSurfaceForm::declaration() const { return *IFC4X3_RC2_IfcBSplineSurfaceForm_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBSplineSurfaceForm::Class() { return *IFC4X3_RC2_IfcBSplineSurfaceForm_type; }
@@ -2073,6 +2153,10 @@ Ifc4x3_rc2::IfcBSplineSurfaceForm::Value Ifc4x3_rc2::IfcBSplineSurfaceForm::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBSplineSurfaceForm::operator Ifc4x3_rc2::IfcBSplineSurfaceForm::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBeamTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBeamTypeEnum::Class() { return *IFC4X3_RC2_IfcBeamTypeEnum_type; }
@@ -2116,6 +2200,10 @@ Ifc4x3_rc2::IfcBeamTypeEnum::Value Ifc4x3_rc2::IfcBeamTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBeamTypeEnum::operator Ifc4x3_rc2::IfcBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::declaration() const { return *IFC4X3_RC2_IfcBearingTypeDisplacementEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Class() { return *IFC4X3_RC2_IfcBearingTypeDisplacementEnum_type; }
@@ -2150,6 +2238,10 @@ Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Value Ifc4x3_rc2::IfcBearingTypeDisp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::operator Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBearingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBearingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBearingTypeEnum::Class() { return *IFC4X3_RC2_IfcBearingTypeEnum_type; }
@@ -2189,6 +2281,10 @@ Ifc4x3_rc2::IfcBearingTypeEnum::Value Ifc4x3_rc2::IfcBearingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBearingTypeEnum::operator Ifc4x3_rc2::IfcBearingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBenchmarkEnum::declaration() const { return *IFC4X3_RC2_IfcBenchmarkEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBenchmarkEnum::Class() { return *IFC4X3_RC2_IfcBenchmarkEnum_type; }
@@ -2228,6 +2324,10 @@ Ifc4x3_rc2::IfcBenchmarkEnum::Value Ifc4x3_rc2::IfcBenchmarkEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBenchmarkEnum::operator Ifc4x3_rc2::IfcBenchmarkEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBoilerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBoilerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBoilerTypeEnum::Class() { return *IFC4X3_RC2_IfcBoilerTypeEnum_type; }
@@ -2261,6 +2361,10 @@ Ifc4x3_rc2::IfcBoilerTypeEnum::Value Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBoilerTypeEnum::operator Ifc4x3_rc2::IfcBoilerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBooleanOperator::declaration() const { return *IFC4X3_RC2_IfcBooleanOperator_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBooleanOperator::Class() { return *IFC4X3_RC2_IfcBooleanOperator_type; }
@@ -2293,6 +2397,10 @@ Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanOperator::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBooleanOperator::operator Ifc4x3_rc2::IfcBooleanOperator::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBridgePartTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBridgePartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBridgePartTypeEnum::Class() { return *IFC4X3_RC2_IfcBridgePartTypeEnum_type; }
@@ -2334,6 +2442,10 @@ Ifc4x3_rc2::IfcBridgePartTypeEnum::Value Ifc4x3_rc2::IfcBridgePartTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBridgePartTypeEnum::operator Ifc4x3_rc2::IfcBridgePartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBridgeTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBridgeTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBridgeTypeEnum::Class() { return *IFC4X3_RC2_IfcBridgeTypeEnum_type; }
@@ -2373,6 +2485,10 @@ Ifc4x3_rc2::IfcBridgeTypeEnum::Value Ifc4x3_rc2::IfcBridgeTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBridgeTypeEnum::operator Ifc4x3_rc2::IfcBridgeTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBuildingElementPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class() { return *IFC4X3_RC2_IfcBuildingElementPartTypeEnum_type; }
@@ -2409,6 +2525,10 @@ Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc2::IfcBuildingElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::operator Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBuildingElementProxyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class() { return *IFC4X3_RC2_IfcBuildingElementProxyTypeEnum_type; }
@@ -2445,6 +2565,10 @@ Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc2::IfcBuildingElemen
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingSystemTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBuildingSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Class() { return *IFC4X3_RC2_IfcBuildingSystemTypeEnum_type; }
@@ -2485,6 +2609,10 @@ Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc2::IfcBuildingSystemTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBuildingSystemTypeEnum::operator Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuiltSystemTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBuiltSystemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class() { return *IFC4X3_RC2_IfcBuiltSystemTypeEnum_type; }
@@ -2528,6 +2656,10 @@ Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBuiltSystemTypeEnum::operator Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBurnerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcBurnerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBurnerTypeEnum::Class() { return *IFC4X3_RC2_IfcBurnerTypeEnum_type; }
@@ -2559,6 +2691,10 @@ Ifc4x3_rc2::IfcBurnerTypeEnum::Value Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcBurnerTypeEnum::operator Ifc4x3_rc2::IfcBurnerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCableCarrierFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class() { return *IFC4X3_RC2_IfcCableCarrierFittingTypeEnum_type; }
@@ -2594,6 +2730,10 @@ Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierFit
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCableCarrierSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcCableCarrierSegmentTypeEnum_type; }
@@ -2632,6 +2772,10 @@ Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierSeg
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableFittingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCableFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableFittingTypeEnum::Class() { return *IFC4X3_RC2_IfcCableFittingTypeEnum_type; }
@@ -2669,6 +2813,10 @@ Ifc4x3_rc2::IfcCableFittingTypeEnum::Value Ifc4x3_rc2::IfcCableFittingTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCableFittingTypeEnum::operator Ifc4x3_rc2::IfcCableFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCableSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcCableSegmentTypeEnum_type; }
@@ -2710,6 +2858,10 @@ Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableSegmentTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCableSegmentTypeEnum::operator Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCaissonFoundationTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class() { return *IFC4X3_RC2_IfcCaissonFoundationTypeEnum_type; }
@@ -2743,6 +2895,10 @@ Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc2::IfcCaissonFoundation
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::operator Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChangeActionEnum::declaration() const { return *IFC4X3_RC2_IfcChangeActionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChangeActionEnum::Class() { return *IFC4X3_RC2_IfcChangeActionEnum_type; }
@@ -2777,6 +2933,10 @@ Ifc4x3_rc2::IfcChangeActionEnum::Value Ifc4x3_rc2::IfcChangeActionEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcChangeActionEnum::operator Ifc4x3_rc2::IfcChangeActionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChillerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcChillerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChillerTypeEnum::Class() { return *IFC4X3_RC2_IfcChillerTypeEnum_type; }
@@ -2811,6 +2971,10 @@ Ifc4x3_rc2::IfcChillerTypeEnum::Value Ifc4x3_rc2::IfcChillerTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcChillerTypeEnum::operator Ifc4x3_rc2::IfcChillerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChimneyTypeEnum::declaration() const { return *IFC4X3_RC2_IfcChimneyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChimneyTypeEnum::Class() { return *IFC4X3_RC2_IfcChimneyTypeEnum_type; }
@@ -2842,6 +3006,10 @@ Ifc4x3_rc2::IfcChimneyTypeEnum::Value Ifc4x3_rc2::IfcChimneyTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcChimneyTypeEnum::operator Ifc4x3_rc2::IfcChimneyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoilTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoilTypeEnum::Class() { return *IFC4X3_RC2_IfcCoilTypeEnum_type; }
@@ -2880,6 +3048,10 @@ Ifc4x3_rc2::IfcCoilTypeEnum::Value Ifc4x3_rc2::IfcCoilTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCoilTypeEnum::operator Ifc4x3_rc2::IfcCoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcColumnTypeEnum::declaration() const { return *IFC4X3_RC2_IfcColumnTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcColumnTypeEnum::Class() { return *IFC4X3_RC2_IfcColumnTypeEnum_type; }
@@ -2916,6 +3088,10 @@ Ifc4x3_rc2::IfcColumnTypeEnum::Value Ifc4x3_rc2::IfcColumnTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcColumnTypeEnum::operator Ifc4x3_rc2::IfcColumnTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class() { return *IFC4X3_RC2_IfcCommunicationsApplianceTypeEnum_type; }
@@ -2968,6 +3144,10 @@ Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcCommunicati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *IFC4X3_RC2_IfcComplexPropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class() { return *IFC4X3_RC2_IfcComplexPropertyTemplateTypeEnum_type; }
@@ -2999,6 +3179,10 @@ Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc2::IfcComplexProp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCompressorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCompressorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCompressorTypeEnum::Class() { return *IFC4X3_RC2_IfcCompressorTypeEnum_type; }
@@ -3045,6 +3229,10 @@ Ifc4x3_rc2::IfcCompressorTypeEnum::Value Ifc4x3_rc2::IfcCompressorTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCompressorTypeEnum::operator Ifc4x3_rc2::IfcCompressorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCondenserTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCondenserTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCondenserTypeEnum::Class() { return *IFC4X3_RC2_IfcCondenserTypeEnum_type; }
@@ -3083,6 +3271,10 @@ Ifc4x3_rc2::IfcCondenserTypeEnum::Value Ifc4x3_rc2::IfcCondenserTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCondenserTypeEnum::operator Ifc4x3_rc2::IfcCondenserTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConnectionTypeEnum::declaration() const { return *IFC4X3_RC2_IfcConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConnectionTypeEnum::Class() { return *IFC4X3_RC2_IfcConnectionTypeEnum_type; }
@@ -3116,6 +3308,10 @@ Ifc4x3_rc2::IfcConnectionTypeEnum::Value Ifc4x3_rc2::IfcConnectionTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcConnectionTypeEnum::operator Ifc4x3_rc2::IfcConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstraintEnum::declaration() const { return *IFC4X3_RC2_IfcConstraintEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstraintEnum::Class() { return *IFC4X3_RC2_IfcConstraintEnum_type; }
@@ -3150,6 +3346,10 @@ Ifc4x3_rc2::IfcConstraintEnum::Value Ifc4x3_rc2::IfcConstraintEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcConstraintEnum::operator Ifc4x3_rc2::IfcConstraintEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcConstructionEquipmentResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class() { return *IFC4X3_RC2_IfcConstructionEquipmentResourceTypeEnum_type; }
@@ -3189,6 +3389,10 @@ Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc2::IfcConst
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcConstructionMaterialResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class() { return *IFC4X3_RC2_IfcConstructionMaterialResourceTypeEnum_type; }
@@ -3229,6 +3433,10 @@ Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc2::IfcConstr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcConstructionProductResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class() { return *IFC4X3_RC2_IfcConstructionProductResourceTypeEnum_type; }
@@ -3262,6 +3470,10 @@ Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc2::IfcConstru
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcControllerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcControllerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcControllerTypeEnum::Class() { return *IFC4X3_RC2_IfcControllerTypeEnum_type; }
@@ -3298,6 +3510,10 @@ Ifc4x3_rc2::IfcControllerTypeEnum::Value Ifc4x3_rc2::IfcControllerTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcControllerTypeEnum::operator Ifc4x3_rc2::IfcControllerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcConveyorSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcConveyorSegmentTypeEnum_type; }
@@ -3333,6 +3549,10 @@ Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc2::IfcConveyorSegmentType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::operator Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCooledBeamTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCooledBeamTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class() { return *IFC4X3_RC2_IfcCooledBeamTypeEnum_type; }
@@ -3366,6 +3586,10 @@ Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value Ifc4x3_rc2::IfcCooledBeamTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCooledBeamTypeEnum::operator Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoolingTowerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCoolingTowerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class() { return *IFC4X3_RC2_IfcCoolingTowerTypeEnum_type; }
@@ -3400,6 +3624,10 @@ Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc2::IfcCoolingTowerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCoolingTowerTypeEnum::operator Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCostItemTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCostItemTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCostItemTypeEnum::Class() { return *IFC4X3_RC2_IfcCostItemTypeEnum_type; }
@@ -3431,6 +3659,10 @@ Ifc4x3_rc2::IfcCostItemTypeEnum::Value Ifc4x3_rc2::IfcCostItemTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCostItemTypeEnum::operator Ifc4x3_rc2::IfcCostItemTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCostScheduleTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCostScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class() { return *IFC4X3_RC2_IfcCostScheduleTypeEnum_type; }
@@ -3469,6 +3701,10 @@ Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value Ifc4x3_rc2::IfcCostScheduleTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCostScheduleTypeEnum::operator Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCourseTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCourseTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCourseTypeEnum::Class() { return *IFC4X3_RC2_IfcCourseTypeEnum_type; }
@@ -3506,6 +3742,10 @@ Ifc4x3_rc2::IfcCourseTypeEnum::Value Ifc4x3_rc2::IfcCourseTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCourseTypeEnum::operator Ifc4x3_rc2::IfcCourseTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoveringTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCoveringTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoveringTypeEnum::Class() { return *IFC4X3_RC2_IfcCoveringTypeEnum_type; }
@@ -3548,6 +3788,10 @@ Ifc4x3_rc2::IfcCoveringTypeEnum::Value Ifc4x3_rc2::IfcCoveringTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCoveringTypeEnum::operator Ifc4x3_rc2::IfcCoveringTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCrewResourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCrewResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class() { return *IFC4X3_RC2_IfcCrewResourceTypeEnum_type; }
@@ -3581,6 +3825,10 @@ Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value Ifc4x3_rc2::IfcCrewResourceTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCrewResourceTypeEnum::operator Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCurtainWallTypeEnum::declaration() const { return *IFC4X3_RC2_IfcCurtainWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class() { return *IFC4X3_RC2_IfcCurtainWallTypeEnum_type; }
@@ -3612,6 +3860,10 @@ Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value Ifc4x3_rc2::IfcCurtainWallTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCurtainWallTypeEnum::operator Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCurveInterpolationEnum::declaration() const { return *IFC4X3_RC2_IfcCurveInterpolationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCurveInterpolationEnum::Class() { return *IFC4X3_RC2_IfcCurveInterpolationEnum_type; }
@@ -3645,6 +3897,10 @@ Ifc4x3_rc2::IfcCurveInterpolationEnum::Value Ifc4x3_rc2::IfcCurveInterpolationEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcCurveInterpolationEnum::operator Ifc4x3_rc2::IfcCurveInterpolationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDamperTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDamperTypeEnum::Class() { return *IFC4X3_RC2_IfcDamperTypeEnum_type; }
@@ -3687,6 +3943,10 @@ Ifc4x3_rc2::IfcDamperTypeEnum::Value Ifc4x3_rc2::IfcDamperTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDamperTypeEnum::operator Ifc4x3_rc2::IfcDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDataOriginEnum::declaration() const { return *IFC4X3_RC2_IfcDataOriginEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDataOriginEnum::Class() { return *IFC4X3_RC2_IfcDataOriginEnum_type; }
@@ -3721,6 +3981,10 @@ Ifc4x3_rc2::IfcDataOriginEnum::Value Ifc4x3_rc2::IfcDataOriginEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDataOriginEnum::operator Ifc4x3_rc2::IfcDataOriginEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDerivedUnitEnum::declaration() const { return *IFC4X3_RC2_IfcDerivedUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDerivedUnitEnum::Class() { return *IFC4X3_RC2_IfcDerivedUnitEnum_type; }
@@ -3803,6 +4067,10 @@ Ifc4x3_rc2::IfcDerivedUnitEnum::Value Ifc4x3_rc2::IfcDerivedUnitEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDerivedUnitEnum::operator Ifc4x3_rc2::IfcDerivedUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDirectionSenseEnum::declaration() const { return *IFC4X3_RC2_IfcDirectionSenseEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDirectionSenseEnum::Class() { return *IFC4X3_RC2_IfcDirectionSenseEnum_type; }
@@ -3834,6 +4102,10 @@ Ifc4x3_rc2::IfcDirectionSenseEnum::Value Ifc4x3_rc2::IfcDirectionSenseEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDirectionSenseEnum::operator Ifc4x3_rc2::IfcDirectionSenseEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDiscreteAccessoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class() { return *IFC4X3_RC2_IfcDiscreteAccessoryTypeEnum_type; }
@@ -3882,6 +4154,10 @@ Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc2::IfcDiscreteAccessory
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionBoardTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class() { return *IFC4X3_RC2_IfcDistributionBoardTypeEnum_type; }
@@ -3918,6 +4194,10 @@ Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcDistributionBoard
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDistributionChamberElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class() { return *IFC4X3_RC2_IfcDistributionChamberElementTypeEnum_type; }
@@ -3957,6 +4237,10 @@ Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc2::IfcDistribu
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionPortTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDistributionPortTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionPortTypeEnum::Class() { return *IFC4X3_RC2_IfcDistributionPortTypeEnum_type; }
@@ -3993,6 +4277,10 @@ Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value Ifc4x3_rc2::IfcDistributionPortTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDistributionPortTypeEnum::operator Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionSystemEnum::declaration() const { return *IFC4X3_RC2_IfcDistributionSystemEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionSystemEnum::Class() { return *IFC4X3_RC2_IfcDistributionSystemEnum_type; }
@@ -4069,6 +4357,10 @@ Ifc4x3_rc2::IfcDistributionSystemEnum::Value Ifc4x3_rc2::IfcDistributionSystemEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDistributionSystemEnum::operator Ifc4x3_rc2::IfcDistributionSystemEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDocumentConfidentialityEnum::declaration() const { return *IFC4X3_RC2_IfcDocumentConfidentialityEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Class() { return *IFC4X3_RC2_IfcDocumentConfidentialityEnum_type; }
@@ -4104,6 +4396,10 @@ Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc2::IfcDocumentConfide
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDocumentStatusEnum::declaration() const { return *IFC4X3_RC2_IfcDocumentStatusEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDocumentStatusEnum::Class() { return *IFC4X3_RC2_IfcDocumentStatusEnum_type; }
@@ -4138,6 +4434,10 @@ Ifc4x3_rc2::IfcDocumentStatusEnum::Value Ifc4x3_rc2::IfcDocumentStatusEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDocumentStatusEnum::operator Ifc4x3_rc2::IfcDocumentStatusEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorPanelOperationEnum::declaration() const { return *IFC4X3_RC2_IfcDoorPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorPanelOperationEnum::Class() { return *IFC4X3_RC2_IfcDoorPanelOperationEnum_type; }
@@ -4176,6 +4476,10 @@ Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value Ifc4x3_rc2::IfcDoorPanelOperationEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDoorPanelOperationEnum::operator Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorPanelPositionEnum::declaration() const { return *IFC4X3_RC2_IfcDoorPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class() { return *IFC4X3_RC2_IfcDoorPanelPositionEnum_type; }
@@ -4209,6 +4513,10 @@ Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelPositionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDoorPanelPositionEnum::operator Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorStyleConstructionEnum::declaration() const { return *IFC4X3_RC2_IfcDoorStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Class() { return *IFC4X3_RC2_IfcDoorStyleConstructionEnum_type; }
@@ -4247,6 +4555,10 @@ Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc2::IfcDoorStyleConstruc
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorStyleOperationEnum::declaration() const { return *IFC4X3_RC2_IfcDoorStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorStyleOperationEnum::Class() { return *IFC4X3_RC2_IfcDoorStyleOperationEnum_type; }
@@ -4294,6 +4606,10 @@ Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value Ifc4x3_rc2::IfcDoorStyleOperationEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDoorStyleOperationEnum::operator Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDoorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorTypeEnum::Class() { return *IFC4X3_RC2_IfcDoorTypeEnum_type; }
@@ -4330,6 +4646,10 @@ Ifc4x3_rc2::IfcDoorTypeEnum::Value Ifc4x3_rc2::IfcDoorTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDoorTypeEnum::operator Ifc4x3_rc2::IfcDoorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorTypeOperationEnum::declaration() const { return *IFC4X3_RC2_IfcDoorTypeOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class() { return *IFC4X3_RC2_IfcDoorTypeOperationEnum_type; }
@@ -4379,6 +4699,10 @@ Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value Ifc4x3_rc2::IfcDoorTypeOperationEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDoorTypeOperationEnum::operator Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctFittingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDuctFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class() { return *IFC4X3_RC2_IfcDuctFittingTypeEnum_type; }
@@ -4417,6 +4741,10 @@ Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value Ifc4x3_rc2::IfcDuctFittingTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDuctFittingTypeEnum::operator Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDuctSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcDuctSegmentTypeEnum_type; }
@@ -4450,6 +4778,10 @@ Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctSilencerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcDuctSilencerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class() { return *IFC4X3_RC2_IfcDuctSilencerTypeEnum_type; }
@@ -4484,6 +4816,10 @@ Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc2::IfcDuctSilencerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEarthworksCutTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEarthworksCutTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Class() { return *IFC4X3_RC2_IfcEarthworksCutTypeEnum_type; }
@@ -4524,6 +4860,10 @@ Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc2::IfcEarthworksCutTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEarthworksFillTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEarthworksFillTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Class() { return *IFC4X3_RC2_IfcEarthworksFillTypeEnum_type; }
@@ -4562,6 +4902,10 @@ Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc2::IfcEarthworksFillTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricApplianceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricApplianceTypeEnum_type; }
@@ -4609,6 +4953,10 @@ Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc2::IfcElectricAppliance
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricDistributionBoardTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricDistributionBoardTypeEnum_type; }
@@ -4644,6 +4992,10 @@ Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcElectricD
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricFlowStorageDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricFlowStorageDeviceTypeEnum_type; }
@@ -4684,6 +5036,10 @@ Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricF
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricFlowTreatmentDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricFlowTreatmentDeviceTypeEnum_type; }
@@ -4716,6 +5072,10 @@ Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricGeneratorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricGeneratorTypeEnum_type; }
@@ -4750,6 +5110,10 @@ Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc2::IfcElectricGenerator
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricMotorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricMotorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricMotorTypeEnum_type; }
@@ -4786,6 +5150,10 @@ Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value Ifc4x3_rc2::IfcElectricMotorTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricMotorTypeEnum::operator Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElectricTimeControlTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class() { return *IFC4X3_RC2_IfcElectricTimeControlTypeEnum_type; }
@@ -4820,6 +5188,10 @@ Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc2::IfcElectricTimeCon
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElementAssemblyTypeEnum::declaration() const { return *IFC4X3_RC2_IfcElementAssemblyTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class() { return *IFC4X3_RC2_IfcElementAssemblyTypeEnum_type; }
@@ -4879,6 +5251,10 @@ Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc2::IfcElementAssemblyType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElementCompositionEnum::declaration() const { return *IFC4X3_RC2_IfcElementCompositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElementCompositionEnum::Class() { return *IFC4X3_RC2_IfcElementCompositionEnum_type; }
@@ -4911,6 +5287,10 @@ Ifc4x3_rc2::IfcElementCompositionEnum::Value Ifc4x3_rc2::IfcElementCompositionEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcElementCompositionEnum::operator Ifc4x3_rc2::IfcElementCompositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEngineTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEngineTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEngineTypeEnum::Class() { return *IFC4X3_RC2_IfcEngineTypeEnum_type; }
@@ -4944,6 +5324,10 @@ Ifc4x3_rc2::IfcEngineTypeEnum::Value Ifc4x3_rc2::IfcEngineTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEngineTypeEnum::operator Ifc4x3_rc2::IfcEngineTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEvaporativeCoolerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC4X3_RC2_IfcEvaporativeCoolerTypeEnum_type; }
@@ -4984,6 +5368,10 @@ Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc2::IfcEvaporativeCooler
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEvaporatorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEvaporatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class() { return *IFC4X3_RC2_IfcEvaporatorTypeEnum_type; }
@@ -5021,6 +5409,10 @@ Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value Ifc4x3_rc2::IfcEvaporatorTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEvaporatorTypeEnum::operator Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEventTriggerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEventTriggerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class() { return *IFC4X3_RC2_IfcEventTriggerTypeEnum_type; }
@@ -5056,6 +5448,10 @@ Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value Ifc4x3_rc2::IfcEventTriggerTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEventTriggerTypeEnum::operator Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEventTypeEnum::declaration() const { return *IFC4X3_RC2_IfcEventTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEventTypeEnum::Class() { return *IFC4X3_RC2_IfcEventTypeEnum_type; }
@@ -5090,6 +5486,10 @@ Ifc4x3_rc2::IfcEventTypeEnum::Value Ifc4x3_rc2::IfcEventTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcEventTypeEnum::operator Ifc4x3_rc2::IfcEventTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcExternalSpatialElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class() { return *IFC4X3_RC2_IfcExternalSpatialElementTypeEnum_type; }
@@ -5125,6 +5525,10 @@ Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc2::IfcExternalSpat
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFacilityPartCommonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Class() { return *IFC4X3_RC2_IfcFacilityPartCommonTypeEnum_type; }
@@ -5164,6 +5568,10 @@ Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_rc2::IfcFacilityPartComm
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFacilityUsageEnum::declaration() const { return *IFC4X3_RC2_IfcFacilityUsageEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFacilityUsageEnum::Class() { return *IFC4X3_RC2_IfcFacilityUsageEnum_type; }
@@ -5199,6 +5607,10 @@ Ifc4x3_rc2::IfcFacilityUsageEnum::Value Ifc4x3_rc2::IfcFacilityUsageEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFacilityUsageEnum::operator Ifc4x3_rc2::IfcFacilityUsageEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFanTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFanTypeEnum::Class() { return *IFC4X3_RC2_IfcFanTypeEnum_type; }
@@ -5237,6 +5649,10 @@ Ifc4x3_rc2::IfcFanTypeEnum::Value Ifc4x3_rc2::IfcFanTypeEnum::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFanTypeEnum::operator Ifc4x3_rc2::IfcFanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFastenerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFastenerTypeEnum::Class() { return *IFC4X3_RC2_IfcFastenerTypeEnum_type; }
@@ -5271,6 +5687,10 @@ Ifc4x3_rc2::IfcFastenerTypeEnum::Value Ifc4x3_rc2::IfcFastenerTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFastenerTypeEnum::operator Ifc4x3_rc2::IfcFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFilterTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFilterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFilterTypeEnum::Class() { return *IFC4X3_RC2_IfcFilterTypeEnum_type; }
@@ -5308,6 +5728,10 @@ Ifc4x3_rc2::IfcFilterTypeEnum::Value Ifc4x3_rc2::IfcFilterTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFilterTypeEnum::operator Ifc4x3_rc2::IfcFilterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFireSuppressionTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC4X3_RC2_IfcFireSuppressionTerminalTypeEnum_type; }
@@ -5344,6 +5768,10 @@ Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc2::IfcFireSuppres
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowDirectionEnum::declaration() const { return *IFC4X3_RC2_IfcFlowDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowDirectionEnum::Class() { return *IFC4X3_RC2_IfcFlowDirectionEnum_type; }
@@ -5377,6 +5805,10 @@ Ifc4x3_rc2::IfcFlowDirectionEnum::Value Ifc4x3_rc2::IfcFlowDirectionEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFlowDirectionEnum::operator Ifc4x3_rc2::IfcFlowDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFlowInstrumentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class() { return *IFC4X3_RC2_IfcFlowInstrumentTypeEnum_type; }
@@ -5418,6 +5850,10 @@ Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc2::IfcFlowInstrumentTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowMeterTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFlowMeterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class() { return *IFC4X3_RC2_IfcFlowMeterTypeEnum_type; }
@@ -5453,6 +5889,10 @@ Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFlowMeterTypeEnum::operator Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFootingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFootingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFootingTypeEnum::Class() { return *IFC4X3_RC2_IfcFootingTypeEnum_type; }
@@ -5489,6 +5929,10 @@ Ifc4x3_rc2::IfcFootingTypeEnum::Value Ifc4x3_rc2::IfcFootingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFootingTypeEnum::operator Ifc4x3_rc2::IfcFootingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFurnitureTypeEnum::declaration() const { return *IFC4X3_RC2_IfcFurnitureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFurnitureTypeEnum::Class() { return *IFC4X3_RC2_IfcFurnitureTypeEnum_type; }
@@ -5528,6 +5972,10 @@ Ifc4x3_rc2::IfcFurnitureTypeEnum::Value Ifc4x3_rc2::IfcFurnitureTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcFurnitureTypeEnum::operator Ifc4x3_rc2::IfcFurnitureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGeographicElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcGeographicElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class() { return *IFC4X3_RC2_IfcGeographicElementTypeEnum_type; }
@@ -5561,6 +6009,10 @@ Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value Ifc4x3_rc2::IfcGeographicElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcGeographicElementTypeEnum::operator Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGeometricProjectionEnum::declaration() const { return *IFC4X3_RC2_IfcGeometricProjectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGeometricProjectionEnum::Class() { return *IFC4X3_RC2_IfcGeometricProjectionEnum_type; }
@@ -5599,6 +6051,10 @@ Ifc4x3_rc2::IfcGeometricProjectionEnum::Value Ifc4x3_rc2::IfcGeometricProjection
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcGeometricProjectionEnum::operator Ifc4x3_rc2::IfcGeometricProjectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGlobalOrLocalEnum::declaration() const { return *IFC4X3_RC2_IfcGlobalOrLocalEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class() { return *IFC4X3_RC2_IfcGlobalOrLocalEnum_type; }
@@ -5630,6 +6086,10 @@ Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value Ifc4x3_rc2::IfcGlobalOrLocalEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcGlobalOrLocalEnum::operator Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGridTypeEnum::declaration() const { return *IFC4X3_RC2_IfcGridTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGridTypeEnum::Class() { return *IFC4X3_RC2_IfcGridTypeEnum_type; }
@@ -5665,6 +6125,10 @@ Ifc4x3_rc2::IfcGridTypeEnum::Value Ifc4x3_rc2::IfcGridTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcGridTypeEnum::operator Ifc4x3_rc2::IfcGridTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcHeatExchangerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcHeatExchangerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class() { return *IFC4X3_RC2_IfcHeatExchangerTypeEnum_type; }
@@ -5699,6 +6163,10 @@ Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc2::IfcHeatExchangerTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcHumidifierTypeEnum::declaration() const { return *IFC4X3_RC2_IfcHumidifierTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcHumidifierTypeEnum::Class() { return *IFC4X3_RC2_IfcHumidifierTypeEnum_type; }
@@ -5743,6 +6211,10 @@ Ifc4x3_rc2::IfcHumidifierTypeEnum::Value Ifc4x3_rc2::IfcHumidifierTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcHumidifierTypeEnum::operator Ifc4x3_rc2::IfcHumidifierTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcImpactProtectionDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcImpactProtectionDeviceTypeEnum_type; }
@@ -5778,6 +6250,10 @@ Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_rc2::IfcImpactProtec
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInterceptorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcInterceptorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInterceptorTypeEnum::Class() { return *IFC4X3_RC2_IfcInterceptorTypeEnum_type; }
@@ -5813,6 +6289,10 @@ Ifc4x3_rc2::IfcInterceptorTypeEnum::Value Ifc4x3_rc2::IfcInterceptorTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcInterceptorTypeEnum::operator Ifc4x3_rc2::IfcInterceptorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInternalOrExternalEnum::declaration() const { return *IFC4X3_RC2_IfcInternalOrExternalEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInternalOrExternalEnum::Class() { return *IFC4X3_RC2_IfcInternalOrExternalEnum_type; }
@@ -5848,6 +6328,10 @@ Ifc4x3_rc2::IfcInternalOrExternalEnum::Value Ifc4x3_rc2::IfcInternalOrExternalEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcInternalOrExternalEnum::operator Ifc4x3_rc2::IfcInternalOrExternalEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInventoryTypeEnum::declaration() const { return *IFC4X3_RC2_IfcInventoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInventoryTypeEnum::Class() { return *IFC4X3_RC2_IfcInventoryTypeEnum_type; }
@@ -5882,6 +6366,10 @@ Ifc4x3_rc2::IfcInventoryTypeEnum::Value Ifc4x3_rc2::IfcInventoryTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcInventoryTypeEnum::operator Ifc4x3_rc2::IfcInventoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcJunctionBoxTypeEnum::declaration() const { return *IFC4X3_RC2_IfcJunctionBoxTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class() { return *IFC4X3_RC2_IfcJunctionBoxTypeEnum_type; }
@@ -5915,6 +6403,10 @@ Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcKnotType::declaration() const { return *IFC4X3_RC2_IfcKnotType_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcKnotType::Class() { return *IFC4X3_RC2_IfcKnotType_type; }
@@ -5948,6 +6440,10 @@ Ifc4x3_rc2::IfcKnotType::Value Ifc4x3_rc2::IfcKnotType::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcKnotType::operator Ifc4x3_rc2::IfcKnotType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLaborResourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcLaborResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class() { return *IFC4X3_RC2_IfcLaborResourceTypeEnum_type; }
@@ -5998,6 +6494,10 @@ Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value Ifc4x3_rc2::IfcLaborResourceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLaborResourceTypeEnum::operator Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLampTypeEnum::declaration() const { return *IFC4X3_RC2_IfcLampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLampTypeEnum::Class() { return *IFC4X3_RC2_IfcLampTypeEnum_type; }
@@ -6038,6 +6538,10 @@ Ifc4x3_rc2::IfcLampTypeEnum::Value Ifc4x3_rc2::IfcLampTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLampTypeEnum::operator Ifc4x3_rc2::IfcLampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLayerSetDirectionEnum::declaration() const { return *IFC4X3_RC2_IfcLayerSetDirectionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class() { return *IFC4X3_RC2_IfcLayerSetDirectionEnum_type; }
@@ -6070,6 +6574,10 @@ Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcLayerSetDirectionEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLayerSetDirectionEnum::operator Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightDistributionCurveEnum::declaration() const { return *IFC4X3_RC2_IfcLightDistributionCurveEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class() { return *IFC4X3_RC2_IfcLightDistributionCurveEnum_type; }
@@ -6103,6 +6611,10 @@ Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value Ifc4x3_rc2::IfcLightDistributio
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLightDistributionCurveEnum::operator Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightEmissionSourceEnum::declaration() const { return *IFC4X3_RC2_IfcLightEmissionSourceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class() { return *IFC4X3_RC2_IfcLightEmissionSourceEnum_type; }
@@ -6143,6 +6655,10 @@ Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value Ifc4x3_rc2::IfcLightEmissionSource
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLightEmissionSourceEnum::operator Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightFixtureTypeEnum::declaration() const { return *IFC4X3_RC2_IfcLightFixtureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class() { return *IFC4X3_RC2_IfcLightFixtureTypeEnum_type; }
@@ -6177,6 +6693,10 @@ Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value Ifc4x3_rc2::IfcLightFixtureTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLightFixtureTypeEnum::operator Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcLiquidTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class() { return *IFC4X3_RC2_IfcLiquidTerminalTypeEnum_type; }
@@ -6210,6 +6730,10 @@ Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc2::IfcLiquidTerminalTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLoadGroupTypeEnum::declaration() const { return *IFC4X3_RC2_IfcLoadGroupTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class() { return *IFC4X3_RC2_IfcLoadGroupTypeEnum_type; }
@@ -6244,6 +6768,10 @@ Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value Ifc4x3_rc2::IfcLoadGroupTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLoadGroupTypeEnum::operator Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLogicalOperatorEnum::declaration() const { return *IFC4X3_RC2_IfcLogicalOperatorEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLogicalOperatorEnum::Class() { return *IFC4X3_RC2_IfcLogicalOperatorEnum_type; }
@@ -6278,6 +6806,10 @@ Ifc4x3_rc2::IfcLogicalOperatorEnum::Value Ifc4x3_rc2::IfcLogicalOperatorEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcLogicalOperatorEnum::operator Ifc4x3_rc2::IfcLogicalOperatorEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMarineFacilityTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMarineFacilityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Class() { return *IFC4X3_RC2_IfcMarineFacilityTypeEnum_type; }
@@ -6328,6 +6860,10 @@ Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc2::IfcMarineFacilityTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMarinePartTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMarinePartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMarinePartTypeEnum::Class() { return *IFC4X3_RC2_IfcMarinePartTypeEnum_type; }
@@ -6383,6 +6919,10 @@ Ifc4x3_rc2::IfcMarinePartTypeEnum::Value Ifc4x3_rc2::IfcMarinePartTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMarinePartTypeEnum::operator Ifc4x3_rc2::IfcMarinePartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMechanicalFastenerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class() { return *IFC4X3_RC2_IfcMechanicalFastenerTypeEnum_type; }
@@ -6429,6 +6969,10 @@ Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc2::IfcMechanicalFasten
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMedicalDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcMedicalDeviceTypeEnum_type; }
@@ -6465,6 +7009,10 @@ Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc2::IfcMedicalDeviceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMemberTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMemberTypeEnum::Class() { return *IFC4X3_RC2_IfcMemberTypeEnum_type; }
@@ -6515,6 +7063,10 @@ Ifc4x3_rc2::IfcMemberTypeEnum::Value Ifc4x3_rc2::IfcMemberTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMemberTypeEnum::operator Ifc4x3_rc2::IfcMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMobileTelecommunicationsApplianceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class() { return *IFC4X3_RC2_IfcMobileTelecommunicationsApplianceTypeEnum_type; }
@@ -6553,6 +7105,10 @@ Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcM
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMooringDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMooringDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcMooringDeviceTypeEnum_type; }
@@ -6589,6 +7145,10 @@ Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc2::IfcMooringDeviceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMotorConnectionTypeEnum::declaration() const { return *IFC4X3_RC2_IfcMotorConnectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class() { return *IFC4X3_RC2_IfcMotorConnectionTypeEnum_type; }
@@ -6623,6 +7183,10 @@ Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc2::IfcMotorConnectionType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcNavigationElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcNavigationElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class() { return *IFC4X3_RC2_IfcNavigationElementTypeEnum_type; }
@@ -6656,6 +7220,10 @@ Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value Ifc4x3_rc2::IfcNavigationElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcNavigationElementTypeEnum::operator Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcNullStyle::declaration() const { return *IFC4X3_RC2_IfcNullStyle_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcNullStyle::Class() { return *IFC4X3_RC2_IfcNullStyle_type; }
@@ -6686,6 +7254,10 @@ Ifc4x3_rc2::IfcNullStyle::Value Ifc4x3_rc2::IfcNullStyle::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcNullStyle::operator Ifc4x3_rc2::IfcNullStyle::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcObjectTypeEnum::declaration() const { return *IFC4X3_RC2_IfcObjectTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcObjectTypeEnum::Class() { return *IFC4X3_RC2_IfcObjectTypeEnum_type; }
@@ -6723,6 +7295,10 @@ Ifc4x3_rc2::IfcObjectTypeEnum::Value Ifc4x3_rc2::IfcObjectTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcObjectTypeEnum::operator Ifc4x3_rc2::IfcObjectTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcObjectiveEnum::declaration() const { return *IFC4X3_RC2_IfcObjectiveEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcObjectiveEnum::Class() { return *IFC4X3_RC2_IfcObjectiveEnum_type; }
@@ -6765,6 +7341,10 @@ Ifc4x3_rc2::IfcObjectiveEnum::Value Ifc4x3_rc2::IfcObjectiveEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcObjectiveEnum::operator Ifc4x3_rc2::IfcObjectiveEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOccupantTypeEnum::declaration() const { return *IFC4X3_RC2_IfcOccupantTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOccupantTypeEnum::Class() { return *IFC4X3_RC2_IfcOccupantTypeEnum_type; }
@@ -6803,6 +7383,10 @@ Ifc4x3_rc2::IfcOccupantTypeEnum::Value Ifc4x3_rc2::IfcOccupantTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcOccupantTypeEnum::operator Ifc4x3_rc2::IfcOccupantTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOpeningElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcOpeningElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class() { return *IFC4X3_RC2_IfcOpeningElementTypeEnum_type; }
@@ -6836,6 +7420,10 @@ Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value Ifc4x3_rc2::IfcOpeningElementTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcOpeningElementTypeEnum::operator Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOutletTypeEnum::declaration() const { return *IFC4X3_RC2_IfcOutletTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOutletTypeEnum::Class() { return *IFC4X3_RC2_IfcOutletTypeEnum_type; }
@@ -6872,6 +7460,10 @@ Ifc4x3_rc2::IfcOutletTypeEnum::Value Ifc4x3_rc2::IfcOutletTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcOutletTypeEnum::operator Ifc4x3_rc2::IfcOutletTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPerformanceHistoryTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Class() { return *IFC4X3_RC2_IfcPerformanceHistoryTypeEnum_type; }
@@ -6903,6 +7495,10 @@ Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc2::IfcPerformanceHisto
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC4X3_RC2_IfcPermeableCoveringOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Class() { return *IFC4X3_RC2_IfcPermeableCoveringOperationEnum_type; }
@@ -6937,6 +7533,10 @@ Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc2::IfcPermeableCov
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPermitTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPermitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPermitTypeEnum::Class() { return *IFC4X3_RC2_IfcPermitTypeEnum_type; }
@@ -6971,6 +7571,10 @@ Ifc4x3_rc2::IfcPermitTypeEnum::Value Ifc4x3_rc2::IfcPermitTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPermitTypeEnum::operator Ifc4x3_rc2::IfcPermitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC4X3_RC2_IfcPhysicalOrVirtualEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class() { return *IFC4X3_RC2_IfcPhysicalOrVirtualEnum_type; }
@@ -7003,6 +7607,10 @@ Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc2::IfcPhysicalOrVirtualEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPileConstructionEnum::declaration() const { return *IFC4X3_RC2_IfcPileConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPileConstructionEnum::Class() { return *IFC4X3_RC2_IfcPileConstructionEnum_type; }
@@ -7038,6 +7646,10 @@ Ifc4x3_rc2::IfcPileConstructionEnum::Value Ifc4x3_rc2::IfcPileConstructionEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPileConstructionEnum::operator Ifc4x3_rc2::IfcPileConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPileTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPileTypeEnum::Class() { return *IFC4X3_RC2_IfcPileTypeEnum_type; }
@@ -7075,6 +7687,10 @@ Ifc4x3_rc2::IfcPileTypeEnum::Value Ifc4x3_rc2::IfcPileTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPileTypeEnum::operator Ifc4x3_rc2::IfcPileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPipeFittingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPipeFittingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class() { return *IFC4X3_RC2_IfcPipeFittingTypeEnum_type; }
@@ -7113,6 +7729,10 @@ Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value Ifc4x3_rc2::IfcPipeFittingTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPipeFittingTypeEnum::operator Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPipeSegmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPipeSegmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class() { return *IFC4X3_RC2_IfcPipeSegmentTypeEnum_type; }
@@ -7149,6 +7769,10 @@ Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPlateTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPlateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPlateTypeEnum::Class() { return *IFC4X3_RC2_IfcPlateTypeEnum_type; }
@@ -7189,6 +7813,10 @@ Ifc4x3_rc2::IfcPlateTypeEnum::Value Ifc4x3_rc2::IfcPlateTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPlateTypeEnum::operator Ifc4x3_rc2::IfcPlateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *IFC4X3_RC2_IfcPreferredSurfaceCurveRepresentation_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class() { return *IFC4X3_RC2_IfcPreferredSurfaceCurveRepresentation_type; }
@@ -7221,6 +7849,10 @@ Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc2::IfcPreferr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProcedureTypeEnum::declaration() const { return *IFC4X3_RC2_IfcProcedureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProcedureTypeEnum::Class() { return *IFC4X3_RC2_IfcProcedureTypeEnum_type; }
@@ -7259,6 +7891,10 @@ Ifc4x3_rc2::IfcProcedureTypeEnum::Value Ifc4x3_rc2::IfcProcedureTypeEnum::FromSt
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProcedureTypeEnum::operator Ifc4x3_rc2::IfcProcedureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProfileTypeEnum::declaration() const { return *IFC4X3_RC2_IfcProfileTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProfileTypeEnum::Class() { return *IFC4X3_RC2_IfcProfileTypeEnum_type; }
@@ -7290,6 +7926,10 @@ Ifc4x3_rc2::IfcProfileTypeEnum::Value Ifc4x3_rc2::IfcProfileTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProfileTypeEnum::operator Ifc4x3_rc2::IfcProfileTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectOrderTypeEnum::declaration() const { return *IFC4X3_RC2_IfcProjectOrderTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class() { return *IFC4X3_RC2_IfcProjectOrderTypeEnum_type; }
@@ -7326,6 +7966,10 @@ Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value Ifc4x3_rc2::IfcProjectOrderTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProjectOrderTypeEnum::operator Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC4X3_RC2_IfcProjectedOrTrueLengthEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class() { return *IFC4X3_RC2_IfcProjectedOrTrueLengthEnum_type; }
@@ -7357,6 +8001,10 @@ Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc2::IfcProjectedOrTrueLe
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectionElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcProjectionElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectionElementTypeEnum::Class() { return *IFC4X3_RC2_IfcProjectionElementTypeEnum_type; }
@@ -7390,6 +8038,10 @@ Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value Ifc4x3_rc2::IfcProjectionElement
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProjectionElementTypeEnum::operator Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPropertySetTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class() { return *IFC4X3_RC2_IfcPropertySetTemplateTypeEnum_type; }
@@ -7427,6 +8079,10 @@ Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc2::IfcPropertySetTemp
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *IFC4X3_RC2_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *IFC4X3_RC2_IfcProtectiveDeviceTrippingUnitTypeEnum_type; }
@@ -7462,6 +8118,10 @@ Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc2::IfcProtec
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcProtectiveDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcProtectiveDeviceTypeEnum_type; }
@@ -7503,6 +8163,10 @@ Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPumpTypeEnum::declaration() const { return *IFC4X3_RC2_IfcPumpTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPumpTypeEnum::Class() { return *IFC4X3_RC2_IfcPumpTypeEnum_type; }
@@ -7541,6 +8205,10 @@ Ifc4x3_rc2::IfcPumpTypeEnum::Value Ifc4x3_rc2::IfcPumpTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcPumpTypeEnum::operator Ifc4x3_rc2::IfcPumpTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRailTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailTypeEnum::Class() { return *IFC4X3_RC2_IfcRailTypeEnum_type; }
@@ -7578,6 +8246,10 @@ Ifc4x3_rc2::IfcRailTypeEnum::Value Ifc4x3_rc2::IfcRailTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRailTypeEnum::operator Ifc4x3_rc2::IfcRailTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailingTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRailingTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailingTypeEnum::Class() { return *IFC4X3_RC2_IfcRailingTypeEnum_type; }
@@ -7613,6 +8285,10 @@ Ifc4x3_rc2::IfcRailingTypeEnum::Value Ifc4x3_rc2::IfcRailingTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRailingTypeEnum::operator Ifc4x3_rc2::IfcRailingTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailwayPartTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRailwayPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailwayPartTypeEnum::Class() { return *IFC4X3_RC2_IfcRailwayPartTypeEnum_type; }
@@ -7652,6 +8328,10 @@ Ifc4x3_rc2::IfcRailwayPartTypeEnum::Value Ifc4x3_rc2::IfcRailwayPartTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRailwayPartTypeEnum::operator Ifc4x3_rc2::IfcRailwayPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRampFlightTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRampFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRampFlightTypeEnum::Class() { return *IFC4X3_RC2_IfcRampFlightTypeEnum_type; }
@@ -7685,6 +8365,10 @@ Ifc4x3_rc2::IfcRampFlightTypeEnum::Value Ifc4x3_rc2::IfcRampFlightTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRampFlightTypeEnum::operator Ifc4x3_rc2::IfcRampFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRampTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRampTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRampTypeEnum::Class() { return *IFC4X3_RC2_IfcRampTypeEnum_type; }
@@ -7722,6 +8406,10 @@ Ifc4x3_rc2::IfcRampTypeEnum::Value Ifc4x3_rc2::IfcRampTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRampTypeEnum::operator Ifc4x3_rc2::IfcRampTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRecurrenceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRecurrenceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class() { return *IFC4X3_RC2_IfcRecurrenceTypeEnum_type; }
@@ -7759,6 +8447,10 @@ Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value Ifc4x3_rc2::IfcRecurrenceTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRecurrenceTypeEnum::operator Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReferentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcReferentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReferentTypeEnum::Class() { return *IFC4X3_RC2_IfcReferentTypeEnum_type; }
@@ -7794,6 +8486,10 @@ Ifc4x3_rc2::IfcReferentTypeEnum::Value Ifc4x3_rc2::IfcReferentTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReferentTypeEnum::operator Ifc4x3_rc2::IfcReferentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReflectanceMethodEnum::declaration() const { return *IFC4X3_RC2_IfcReflectanceMethodEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReflectanceMethodEnum::Class() { return *IFC4X3_RC2_IfcReflectanceMethodEnum_type; }
@@ -7833,6 +8529,10 @@ Ifc4x3_rc2::IfcReflectanceMethodEnum::Value Ifc4x3_rc2::IfcReflectanceMethodEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReflectanceMethodEnum::operator Ifc4x3_rc2::IfcReflectanceMethodEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::declaration() const { return *IFC4X3_RC2_IfcReinforcedSoilTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Class() { return *IFC4X3_RC2_IfcReinforcedSoilTypeEnum_type; }
@@ -7870,6 +8570,10 @@ Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc2::IfcReinforcedSoilTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarRoleEnum::declaration() const { return *IFC4X3_RC2_IfcReinforcingBarRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class() { return *IFC4X3_RC2_IfcReinforcingBarRoleEnum_type; }
@@ -7909,6 +8613,10 @@ Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcReinforcingBarRoleEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC4X3_RC2_IfcReinforcingBarSurfaceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class() { return *IFC4X3_RC2_IfcReinforcingBarSurfaceEnum_type; }
@@ -7940,6 +8648,10 @@ Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc2::IfcReinforcingBarSur
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarTypeEnum::declaration() const { return *IFC4X3_RC2_IfcReinforcingBarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class() { return *IFC4X3_RC2_IfcReinforcingBarTypeEnum_type; }
@@ -7980,6 +8692,10 @@ Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc2::IfcReinforcingBarTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::declaration() const { return *IFC4X3_RC2_IfcReinforcingMeshTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class() { return *IFC4X3_RC2_IfcReinforcingMeshTypeEnum_type; }
@@ -8011,6 +8727,10 @@ Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc2::IfcReinforcingMeshType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoadPartTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRoadPartTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoadPartTypeEnum::Class() { return *IFC4X3_RC2_IfcRoadPartTypeEnum_type; }
@@ -8066,6 +8786,10 @@ Ifc4x3_rc2::IfcRoadPartTypeEnum::Value Ifc4x3_rc2::IfcRoadPartTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRoadPartTypeEnum::operator Ifc4x3_rc2::IfcRoadPartTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoleEnum::declaration() const { return *IFC4X3_RC2_IfcRoleEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoleEnum::Class() { return *IFC4X3_RC2_IfcRoleEnum_type; }
@@ -8118,6 +8842,10 @@ Ifc4x3_rc2::IfcRoleEnum::Value Ifc4x3_rc2::IfcRoleEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRoleEnum::operator Ifc4x3_rc2::IfcRoleEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoofTypeEnum::declaration() const { return *IFC4X3_RC2_IfcRoofTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoofTypeEnum::Class() { return *IFC4X3_RC2_IfcRoofTypeEnum_type; }
@@ -8162,6 +8890,10 @@ Ifc4x3_rc2::IfcRoofTypeEnum::Value Ifc4x3_rc2::IfcRoofTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcRoofTypeEnum::operator Ifc4x3_rc2::IfcRoofTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSIPrefix::declaration() const { return *IFC4X3_RC2_IfcSIPrefix_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSIPrefix::Class() { return *IFC4X3_RC2_IfcSIPrefix_type; }
@@ -8207,6 +8939,10 @@ Ifc4x3_rc2::IfcSIPrefix::Value Ifc4x3_rc2::IfcSIPrefix::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSIPrefix::operator Ifc4x3_rc2::IfcSIPrefix::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSIUnitName::declaration() const { return *IFC4X3_RC2_IfcSIUnitName_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSIUnitName::Class() { return *IFC4X3_RC2_IfcSIUnitName_type; }
@@ -8266,6 +9002,10 @@ Ifc4x3_rc2::IfcSIUnitName::Value Ifc4x3_rc2::IfcSIUnitName::FromString(const std
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSIUnitName::operator Ifc4x3_rc2::IfcSIUnitName::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSanitaryTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class() { return *IFC4X3_RC2_IfcSanitaryTerminalTypeEnum_type; }
@@ -8307,6 +9047,10 @@ Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc2::IfcSanitaryTerminalTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSectionTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSectionTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSectionTypeEnum::Class() { return *IFC4X3_RC2_IfcSectionTypeEnum_type; }
@@ -8338,6 +9082,10 @@ Ifc4x3_rc2::IfcSectionTypeEnum::Value Ifc4x3_rc2::IfcSectionTypeEnum::FromString
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSectionTypeEnum::operator Ifc4x3_rc2::IfcSectionTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSensorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSensorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSensorTypeEnum::Class() { return *IFC4X3_RC2_IfcSensorTypeEnum_type; }
@@ -8401,6 +9149,10 @@ Ifc4x3_rc2::IfcSensorTypeEnum::Value Ifc4x3_rc2::IfcSensorTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSensorTypeEnum::operator Ifc4x3_rc2::IfcSensorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSequenceEnum::declaration() const { return *IFC4X3_RC2_IfcSequenceEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSequenceEnum::Class() { return *IFC4X3_RC2_IfcSequenceEnum_type; }
@@ -8436,6 +9188,10 @@ Ifc4x3_rc2::IfcSequenceEnum::Value Ifc4x3_rc2::IfcSequenceEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSequenceEnum::operator Ifc4x3_rc2::IfcSequenceEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcShadingDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcShadingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcShadingDeviceTypeEnum_type; }
@@ -8470,6 +9226,10 @@ Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc2::IfcShadingDeviceTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSignTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSignTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSignTypeEnum::Class() { return *IFC4X3_RC2_IfcSignTypeEnum_type; }
@@ -8504,6 +9264,10 @@ Ifc4x3_rc2::IfcSignTypeEnum::Value Ifc4x3_rc2::IfcSignTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSignTypeEnum::operator Ifc4x3_rc2::IfcSignTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSignalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSignalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSignalTypeEnum::Class() { return *IFC4X3_RC2_IfcSignalTypeEnum_type; }
@@ -8538,6 +9302,10 @@ Ifc4x3_rc2::IfcSignalTypeEnum::Value Ifc4x3_rc2::IfcSignalTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSignalTypeEnum::operator Ifc4x3_rc2::IfcSignalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSimplePropertyTemplateTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Class() { return *IFC4X3_RC2_IfcSimplePropertyTemplateTypeEnum_type; }
@@ -8579,6 +9347,10 @@ Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc2::IfcSimpleProper
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSlabTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSlabTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSlabTypeEnum::Class() { return *IFC4X3_RC2_IfcSlabTypeEnum_type; }
@@ -8619,6 +9391,10 @@ Ifc4x3_rc2::IfcSlabTypeEnum::Value Ifc4x3_rc2::IfcSlabTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSlabTypeEnum::operator Ifc4x3_rc2::IfcSlabTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSolarDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSolarDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcSolarDeviceTypeEnum_type; }
@@ -8652,6 +9428,10 @@ Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSpaceHeaterTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class() { return *IFC4X3_RC2_IfcSpaceHeaterTypeEnum_type; }
@@ -8685,6 +9465,10 @@ Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpaceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSpaceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpaceTypeEnum::Class() { return *IFC4X3_RC2_IfcSpaceTypeEnum_type; }
@@ -8721,6 +9505,10 @@ Ifc4x3_rc2::IfcSpaceTypeEnum::Value Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSpaceTypeEnum::operator Ifc4x3_rc2::IfcSpaceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpatialZoneTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSpatialZoneTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class() { return *IFC4X3_RC2_IfcSpatialZoneTypeEnum_type; }
@@ -8761,6 +9549,10 @@ Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStackTerminalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStackTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class() { return *IFC4X3_RC2_IfcStackTerminalTypeEnum_type; }
@@ -8795,6 +9587,10 @@ Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value Ifc4x3_rc2::IfcStackTerminalTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStackTerminalTypeEnum::operator Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStairFlightTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStairFlightTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStairFlightTypeEnum::Class() { return *IFC4X3_RC2_IfcStairFlightTypeEnum_type; }
@@ -8831,6 +9627,10 @@ Ifc4x3_rc2::IfcStairFlightTypeEnum::Value Ifc4x3_rc2::IfcStairFlightTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStairFlightTypeEnum::operator Ifc4x3_rc2::IfcStairFlightTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStairTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStairTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStairTypeEnum::Class() { return *IFC4X3_RC2_IfcStairTypeEnum_type; }
@@ -8877,6 +9677,10 @@ Ifc4x3_rc2::IfcStairTypeEnum::Value Ifc4x3_rc2::IfcStairTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStairTypeEnum::operator Ifc4x3_rc2::IfcStairTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStateEnum::declaration() const { return *IFC4X3_RC2_IfcStateEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStateEnum::Class() { return *IFC4X3_RC2_IfcStateEnum_type; }
@@ -8911,6 +9715,10 @@ Ifc4x3_rc2::IfcStateEnum::Value Ifc4x3_rc2::IfcStateEnum::FromString(const std::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStateEnum::operator Ifc4x3_rc2::IfcStateEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStructuralCurveActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class() { return *IFC4X3_RC2_IfcStructuralCurveActivityTypeEnum_type; }
@@ -8949,6 +9757,10 @@ Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralC
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStructuralCurveMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class() { return *IFC4X3_RC2_IfcStructuralCurveMemberTypeEnum_type; }
@@ -8985,6 +9797,10 @@ Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCur
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStructuralSurfaceActivityTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class() { return *IFC4X3_RC2_IfcStructuralSurfaceActivityTypeEnum_type; }
@@ -9020,6 +9836,10 @@ Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructura
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *IFC4X3_RC2_IfcStructuralSurfaceMemberTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class() { return *IFC4X3_RC2_IfcStructuralSurfaceMemberTypeEnum_type; }
@@ -9054,6 +9874,10 @@ Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralS
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSubContractResourceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSubContractResourceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class() { return *IFC4X3_RC2_IfcSubContractResourceTypeEnum_type; }
@@ -9087,6 +9911,10 @@ Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc2::IfcSubContractReso
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSurfaceFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Class() { return *IFC4X3_RC2_IfcSurfaceFeatureTypeEnum_type; }
@@ -9129,6 +9957,10 @@ Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc2::IfcSurfaceFeatureTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSurfaceSide::declaration() const { return *IFC4X3_RC2_IfcSurfaceSide_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSurfaceSide::Class() { return *IFC4X3_RC2_IfcSurfaceSide_type; }
@@ -9161,6 +9993,10 @@ Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceSide::FromString(const s
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSurfaceSide::operator Ifc4x3_rc2::IfcSurfaceSide::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSwitchingDeviceTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class() { return *IFC4X3_RC2_IfcSwitchingDeviceTypeEnum_type; }
@@ -9203,6 +10039,10 @@ Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc2::IfcSwitchingDeviceType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcSystemFurnitureElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class() { return *IFC4X3_RC2_IfcSystemFurnitureElementTypeEnum_type; }
@@ -9237,6 +10077,10 @@ Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc2::IfcSystemFurnit
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTankTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTankTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTankTypeEnum::Class() { return *IFC4X3_RC2_IfcTankTypeEnum_type; }
@@ -9276,6 +10120,10 @@ Ifc4x3_rc2::IfcTankTypeEnum::Value Ifc4x3_rc2::IfcTankTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTankTypeEnum::operator Ifc4x3_rc2::IfcTankTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTaskDurationEnum::declaration() const { return *IFC4X3_RC2_IfcTaskDurationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTaskDurationEnum::Class() { return *IFC4X3_RC2_IfcTaskDurationEnum_type; }
@@ -9308,6 +10156,10 @@ Ifc4x3_rc2::IfcTaskDurationEnum::Value Ifc4x3_rc2::IfcTaskDurationEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTaskDurationEnum::operator Ifc4x3_rc2::IfcTaskDurationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTaskTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTaskTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTaskTypeEnum::Class() { return *IFC4X3_RC2_IfcTaskTypeEnum_type; }
@@ -9351,6 +10203,10 @@ Ifc4x3_rc2::IfcTaskTypeEnum::Value Ifc4x3_rc2::IfcTaskTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTaskTypeEnum::operator Ifc4x3_rc2::IfcTaskTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonAnchorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTendonAnchorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class() { return *IFC4X3_RC2_IfcTendonAnchorTypeEnum_type; }
@@ -9385,6 +10241,10 @@ Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc2::IfcTendonAnchorTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonConduitTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTendonConduitTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class() { return *IFC4X3_RC2_IfcTendonConduitTypeEnum_type; }
@@ -9421,6 +10281,10 @@ Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduitTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTendonConduitTypeEnum::operator Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTendonTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonTypeEnum::Class() { return *IFC4X3_RC2_IfcTendonTypeEnum_type; }
@@ -9456,6 +10320,10 @@ Ifc4x3_rc2::IfcTendonTypeEnum::Value Ifc4x3_rc2::IfcTendonTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTendonTypeEnum::operator Ifc4x3_rc2::IfcTendonTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTextPath::declaration() const { return *IFC4X3_RC2_IfcTextPath_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTextPath::Class() { return *IFC4X3_RC2_IfcTextPath_type; }
@@ -9489,6 +10357,10 @@ Ifc4x3_rc2::IfcTextPath::Value Ifc4x3_rc2::IfcTextPath::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTextPath::operator Ifc4x3_rc2::IfcTextPath::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTimeSeriesDataTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class() { return *IFC4X3_RC2_IfcTimeSeriesDataTypeEnum_type; }
@@ -9525,6 +10397,10 @@ Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc2::IfcTimeSeriesDataTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTrackElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTrackElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTrackElementTypeEnum::Class() { return *IFC4X3_RC2_IfcTrackElementTypeEnum_type; }
@@ -9564,6 +10440,10 @@ Ifc4x3_rc2::IfcTrackElementTypeEnum::Value Ifc4x3_rc2::IfcTrackElementTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTrackElementTypeEnum::operator Ifc4x3_rc2::IfcTrackElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransformerTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTransformerTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransformerTypeEnum::Class() { return *IFC4X3_RC2_IfcTransformerTypeEnum_type; }
@@ -9602,6 +10482,10 @@ Ifc4x3_rc2::IfcTransformerTypeEnum::Value Ifc4x3_rc2::IfcTransformerTypeEnum::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTransformerTypeEnum::operator Ifc4x3_rc2::IfcTransformerTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransitionCode::declaration() const { return *IFC4X3_RC2_IfcTransitionCode_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransitionCode::Class() { return *IFC4X3_RC2_IfcTransitionCode_type; }
@@ -9635,6 +10519,10 @@ Ifc4x3_rc2::IfcTransitionCode::Value Ifc4x3_rc2::IfcTransitionCode::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTransitionCode::operator Ifc4x3_rc2::IfcTransitionCode::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransitionCurveType::declaration() const { return *IFC4X3_RC2_IfcTransitionCurveType_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransitionCurveType::Class() { return *IFC4X3_RC2_IfcTransitionCurveType_type; }
@@ -9670,6 +10558,10 @@ Ifc4x3_rc2::IfcTransitionCurveType::Value Ifc4x3_rc2::IfcTransitionCurveType::Fr
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTransitionCurveType::operator Ifc4x3_rc2::IfcTransitionCurveType::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTransportElementFixedTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Class() { return *IFC4X3_RC2_IfcTransportElementFixedTypeEnum_type; }
@@ -9706,6 +10598,10 @@ Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Value Ifc4x3_rc2::IfcTransportElem
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTransportElementNonFixedTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Class() { return *IFC4X3_RC2_IfcTransportElementNonFixedTypeEnum_type; }
@@ -9744,6 +10640,10 @@ Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Value Ifc4x3_rc2::IfcTransportE
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTrimmingPreference::declaration() const { return *IFC4X3_RC2_IfcTrimmingPreference_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTrimmingPreference::Class() { return *IFC4X3_RC2_IfcTrimmingPreference_type; }
@@ -9776,6 +10676,10 @@ Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmingPreference::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTrimmingPreference::operator Ifc4x3_rc2::IfcTrimmingPreference::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTubeBundleTypeEnum::declaration() const { return *IFC4X3_RC2_IfcTubeBundleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class() { return *IFC4X3_RC2_IfcTubeBundleTypeEnum_type; }
@@ -9808,6 +10712,10 @@ Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value Ifc4x3_rc2::IfcTubeBundleTypeEnum::From
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcTubeBundleTypeEnum::operator Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitEnum::declaration() const { return *IFC4X3_RC2_IfcUnitEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitEnum::Class() { return *IFC4X3_RC2_IfcUnitEnum_type; }
@@ -9867,6 +10775,10 @@ Ifc4x3_rc2::IfcUnitEnum::Value Ifc4x3_rc2::IfcUnitEnum::FromString(const std::st
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcUnitEnum::operator Ifc4x3_rc2::IfcUnitEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::declaration() const { return *IFC4X3_RC2_IfcUnitaryControlElementTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class() { return *IFC4X3_RC2_IfcUnitaryControlElementTypeEnum_type; }
@@ -9907,6 +10819,10 @@ Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc2::IfcUnitaryContro
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC4X3_RC2_IfcUnitaryEquipmentTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC4X3_RC2_IfcUnitaryEquipmentTypeEnum_type; }
@@ -9943,6 +10859,10 @@ Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc2::IfcUnitaryEquipmentTy
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcValveTypeEnum::declaration() const { return *IFC4X3_RC2_IfcValveTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcValveTypeEnum::Class() { return *IFC4X3_RC2_IfcValveTypeEnum_type; }
@@ -9995,6 +10915,10 @@ Ifc4x3_rc2::IfcValveTypeEnum::Value Ifc4x3_rc2::IfcValveTypeEnum::FromString(con
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcValveTypeEnum::operator Ifc4x3_rc2::IfcValveTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVibrationDamperTypeEnum::declaration() const { return *IFC4X3_RC2_IfcVibrationDamperTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class() { return *IFC4X3_RC2_IfcVibrationDamperTypeEnum_type; }
@@ -10032,6 +10956,10 @@ Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc2::IfcVibrationDamperType
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC4X3_RC2_IfcVibrationIsolatorTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class() { return *IFC4X3_RC2_IfcVibrationIsolatorTypeEnum_type; }
@@ -10066,6 +10994,10 @@ Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc2::IfcVibrationIsolator
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::declaration() const { return *IFC4X3_RC2_IfcVoidingFeatureTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Class() { return *IFC4X3_RC2_IfcVoidingFeatureTypeEnum_type; }
@@ -10103,6 +11035,10 @@ Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc2::IfcVoidingFeatureTypeEn
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWallTypeEnum::declaration() const { return *IFC4X3_RC2_IfcWallTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWallTypeEnum::Class() { return *IFC4X3_RC2_IfcWallTypeEnum_type; }
@@ -10145,6 +11081,10 @@ Ifc4x3_rc2::IfcWallTypeEnum::Value Ifc4x3_rc2::IfcWallTypeEnum::FromString(const
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWallTypeEnum::operator Ifc4x3_rc2::IfcWallTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWasteTerminalTypeEnum::declaration() const { return *IFC4X3_RC2_IfcWasteTerminalTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class() { return *IFC4X3_RC2_IfcWasteTerminalTypeEnum_type; }
@@ -10183,6 +11123,10 @@ Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc2::IfcWasteTerminalTypeEnum
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowPanelOperationEnum::declaration() const { return *IFC4X3_RC2_IfcWindowPanelOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowPanelOperationEnum::Class() { return *IFC4X3_RC2_IfcWindowPanelOperationEnum_type; }
@@ -10226,6 +11170,10 @@ Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value Ifc4x3_rc2::IfcWindowPanelOperati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWindowPanelOperationEnum::operator Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowPanelPositionEnum::declaration() const { return *IFC4X3_RC2_IfcWindowPanelPositionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class() { return *IFC4X3_RC2_IfcWindowPanelPositionEnum_type; }
@@ -10261,6 +11209,10 @@ Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcWindowPanelPosition
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWindowPanelPositionEnum::operator Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowStyleConstructionEnum::declaration() const { return *IFC4X3_RC2_IfcWindowStyleConstructionEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Class() { return *IFC4X3_RC2_IfcWindowStyleConstructionEnum_type; }
@@ -10298,6 +11250,10 @@ Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc2::IfcWindowStyleCons
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowStyleOperationEnum::declaration() const { return *IFC4X3_RC2_IfcWindowStyleOperationEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowStyleOperationEnum::Class() { return *IFC4X3_RC2_IfcWindowStyleOperationEnum_type; }
@@ -10338,6 +11294,10 @@ Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value Ifc4x3_rc2::IfcWindowStyleOperati
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWindowStyleOperationEnum::operator Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowTypeEnum::declaration() const { return *IFC4X3_RC2_IfcWindowTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowTypeEnum::Class() { return *IFC4X3_RC2_IfcWindowTypeEnum_type; }
@@ -10372,6 +11332,10 @@ Ifc4x3_rc2::IfcWindowTypeEnum::Value Ifc4x3_rc2::IfcWindowTypeEnum::FromString(c
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWindowTypeEnum::operator Ifc4x3_rc2::IfcWindowTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowTypePartitioningEnum::declaration() const { return *IFC4X3_RC2_IfcWindowTypePartitioningEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class() { return *IFC4X3_RC2_IfcWindowTypePartitioningEnum_type; }
@@ -10412,6 +11376,10 @@ Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc2::IfcWindowTypePartit
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkCalendarTypeEnum::declaration() const { return *IFC4X3_RC2_IfcWorkCalendarTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class() { return *IFC4X3_RC2_IfcWorkCalendarTypeEnum_type; }
@@ -10446,6 +11414,10 @@ Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc2::IfcWorkCalendarTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkPlanTypeEnum::declaration() const { return *IFC4X3_RC2_IfcWorkPlanTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class() { return *IFC4X3_RC2_IfcWorkPlanTypeEnum_type; }
@@ -10480,6 +11452,10 @@ Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value Ifc4x3_rc2::IfcWorkPlanTypeEnum::FromStri
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWorkPlanTypeEnum::operator Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkScheduleTypeEnum::declaration() const { return *IFC4X3_RC2_IfcWorkScheduleTypeEnum_type; }
const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class() { return *IFC4X3_RC2_IfcWorkScheduleTypeEnum_type; }
@@ -10514,6 +11490,10 @@ Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc2::IfcWorkScheduleTypeEnum::
throw IfcException("Unable to find find keyword in schema");
}
+Ifc4x3_rc2::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value() const {
+ return FromString((std::string) *data_->getArgument(0));
+}
+
// Function implementations for IfcAbsorbedDoseMeasure
const IfcParse::type_declaration& Ifc4x3_rc2::IfcAbsorbedDoseMeasure::Class() { return *IFC4X3_RC2_IfcAbsorbedDoseMeasure_type; }
diff --git a/src/ifcparse/IfcEntityInstanceData.h b/src/ifcparse/IfcEntityInstanceData.h
index 6fb0386f38..3b92ea2826 100644
--- a/src/ifcparse/IfcEntityInstanceData.h
+++ b/src/ifcparse/IfcEntityInstanceData.h
@@ -64,12 +64,12 @@ public:
boost::shared_ptr getInverse (const IfcParse::declaration* type, int attribute_index) const;
- Argument* getArgument(unsigned int i) const;
+ Argument* getArgument(size_t i) const;
// NB: This makes a copy of the argument
- void setArgument(unsigned int i, Argument* a, IfcUtil::ArgumentType attr_type = IfcUtil::Argument_UNKNOWN);
+ void setArgument(size_t i, Argument* a, IfcUtil::ArgumentType attr_type = IfcUtil::Argument_UNKNOWN);
- virtual unsigned int getArgumentCount() const {
+ virtual size_t getArgumentCount() const {
if (type_ == 0) {
return 0;
}
diff --git a/src/ifcparse/IfcFile.h b/src/ifcparse/IfcFile.h
index 9b46c4dd10..f22a042e1b 100644
--- a/src/ifcparse/IfcFile.h
+++ b/src/ifcparse/IfcFile.h
@@ -228,7 +228,9 @@ public:
unsigned int FreshId() { return ++MaxId; }
- IfcUtil::IfcBaseClass* addEntity(IfcUtil::IfcBaseClass* entity);
+ void recalculate_id_counter();
+
+ IfcUtil::IfcBaseClass* addEntity(IfcUtil::IfcBaseClass* entity, int id=-1);
void addEntities(IfcEntityList::ptr es);
void batch() { batch_mode_ = true; }
diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp
index 54a5eabf2f..b91d43f91b 100644
--- a/src/ifcparse/IfcHierarchyHelper.cpp
+++ b/src/ifcparse/IfcHierarchyHelper.cpp
@@ -159,7 +159,7 @@ typename Schema::IfcSite* IfcHierarchyHelper::addSite(typename Schema::I
boost::none, boost::none, boost::none, boost::none, 0);
addEntity(site);
- addRelatedObject(proj, site);
+ addRelatedObject(proj, site, owner_hist);
return site;
}
@@ -182,7 +182,7 @@ typename Schema::IfcBuilding* IfcHierarchyHelper::addBuilding(typename S
boost::none, boost::none, 0);
addEntity(building);
- addRelatedObject(site, building);
+ addRelatedObject(site, building, owner_hist);
relatePlacements(site, building);
return building;
@@ -209,7 +209,7 @@ typename Schema::IfcBuildingStorey* IfcHierarchyHelper::addBuildingStore
Schema::IfcElementCompositionEnum::IfcElementComposition_ELEMENT, boost::none);
addEntity(storey);
- addRelatedObject(building, storey);
+ addRelatedObject(building, storey, owner_hist);
relatePlacements(building, storey);
return storey;
@@ -237,7 +237,7 @@ typename Schema::IfcBuildingStorey* IfcHierarchyHelper::addBuildingProdu
const bool is_decomposition = product->Decomposes()->size() > 0;
if (!is_decomposition) {
- addRelatedObject(storey, product);
+ addRelatedObject(storey, product, owner_hist);
relatePlacements(storey, product);
}
return storey;
@@ -454,41 +454,53 @@ void IfcHierarchyHelper::setSurfaceColour(typename Schema::IfcProductRep
}
}
+#ifdef HAS_SCHEMA_2x3
Ifc2x3::IfcStyledItem* create_styled_item(Ifc2x3::IfcRepresentationItem* item, Ifc2x3::IfcPresentationStyleAssignment* style_assignment) {
Ifc2x3::IfcPresentationStyleAssignment::list::ptr style_assignments(new Ifc2x3::IfcPresentationStyleAssignment::list);
style_assignments->push(style_assignment);
return new Ifc2x3::IfcStyledItem(item, style_assignments, boost::none);
}
+#endif
+#ifdef HAS_SCHEMA_4
Ifc4::IfcStyledItem* create_styled_item(Ifc4::IfcRepresentationItem* item, Ifc4::IfcPresentationStyleAssignment* style_assignment) {
IfcEntityList::ptr style_assignments(new IfcEntityList);
style_assignments->push(style_assignment);
return new Ifc4::IfcStyledItem(item, style_assignments, boost::none);
}
+#endif
+#ifdef HAS_SCHEMA_4x1
Ifc4x1::IfcStyledItem* create_styled_item(Ifc4x1::IfcRepresentationItem* item, Ifc4x1::IfcPresentationStyleAssignment* style_assignment) {
IfcEntityList::ptr style_assignments(new IfcEntityList);
style_assignments->push(style_assignment);
return new Ifc4x1::IfcStyledItem(item, style_assignments, boost::none);
}
+#endif
+#ifdef HAS_SCHEMA_4x2
Ifc4x2::IfcStyledItem* create_styled_item(Ifc4x2::IfcRepresentationItem* item, Ifc4x2::IfcPresentationStyleAssignment* style_assignment) {
IfcEntityList::ptr style_assignments(new IfcEntityList);
style_assignments->push(style_assignment);
return new Ifc4x2::IfcStyledItem(item, style_assignments, boost::none);
}
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
Ifc4x3_rc1::IfcStyledItem* create_styled_item(Ifc4x3_rc1::IfcRepresentationItem* item, Ifc4x3_rc1::IfcPresentationStyleAssignment* style_assignment) {
IfcEntityList::ptr style_assignments(new IfcEntityList);
style_assignments->push(style_assignment);
return new Ifc4x3_rc1::IfcStyledItem(item, style_assignments, boost::none);
}
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
Ifc4x3_rc2::IfcStyledItem* create_styled_item(Ifc4x3_rc2::IfcRepresentationItem* item, Ifc4x3_rc2::IfcPresentationStyleAssignment* style_assignment) {
IfcEntityList::ptr style_assignments(new IfcEntityList);
style_assignments->push(style_assignment);
return new Ifc4x3_rc2::IfcStyledItem(item, style_assignments, boost::none);
}
+#endif
template
void IfcHierarchyHelper::setSurfaceColour(typename Schema::IfcRepresentation* rep,
@@ -582,9 +594,21 @@ typename Schema::IfcGeometricRepresentationContext* IfcHierarchyHelper::
}
}
+#ifdef HAS_SCHEMA_2x3
template IFC_PARSE_API class IfcHierarchyHelper;
+#endif
+#ifdef HAS_SCHEMA_4
template IFC_PARSE_API class IfcHierarchyHelper;
+#endif
+#ifdef HAS_SCHEMA_4x1
template IFC_PARSE_API class IfcHierarchyHelper;
+#endif
+#ifdef HAS_SCHEMA_4x2
template IFC_PARSE_API class IfcHierarchyHelper;
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
template IFC_PARSE_API class IfcHierarchyHelper;
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
template IFC_PARSE_API class IfcHierarchyHelper;
+#endif
diff --git a/src/ifcparse/IfcHierarchyHelper.h b/src/ifcparse/IfcHierarchyHelper.h
index 0ff2514274..4d459820e0 100644
--- a/src/ifcparse/IfcHierarchyHelper.h
+++ b/src/ifcparse/IfcHierarchyHelper.h
@@ -32,12 +32,24 @@
#include "ifc_parse_api.h"
+#ifdef HAS_SCHEMA_2x3
#include "../ifcparse/Ifc2x3.h"
+#endif
+#ifdef HAS_SCHEMA_4
#include "../ifcparse/Ifc4.h"
+#endif
+#ifdef HAS_SCHEMA_4x1
#include "../ifcparse/Ifc4x1.h"
+#endif
+#ifdef HAS_SCHEMA_4x2
#include "../ifcparse/Ifc4x2.h"
+#endif
+#ifdef HAS_SCHEMA_4x3_rc1
#include "../ifcparse/Ifc4x3_rc1.h"
+#endif
+#ifdef HAS_SCHEMA_4x3_rc2
#include "../ifcparse/Ifc4x3_rc2.h"
+#endif
#include "../ifcparse/IfcFile.h"
@@ -45,78 +57,150 @@
#include "../ifcparse/IfcGlobalId.h"
namespace {
- IfcUtil::IfcBaseClass* get_parent_of_relation(IfcUtil::IfcBaseClass* t) {
- return *t->data().getArgument(
- t->declaration().as_entity()->attribute_index("RelatingObject")
- );
- }
-
+#ifdef HAS_SCHEMA_2x3
Ifc2x3::IfcObjectDefinition* get_parent_of_relation(Ifc2x3::IfcRelContainedInSpatialStructure* t) {
return t->RelatingStructure();
}
- Ifc4::IfcObjectDefinition* get_parent_of_relation(Ifc4::IfcRelContainedInSpatialStructure* t) {
- return t->RelatingStructure();
- }
-
- Ifc4x1::IfcObjectDefinition* get_parent_of_relation(Ifc4x1::IfcRelContainedInSpatialStructure* t) {
- return t->RelatingStructure();
- }
-
- Ifc4x2::IfcObjectDefinition* get_parent_of_relation(Ifc4x2::IfcRelContainedInSpatialStructure* t) {
- return t->RelatingStructure();
- }
-
- Ifc4x3_rc1::IfcObjectDefinition* get_parent_of_relation(Ifc4x3_rc1::IfcRelContainedInSpatialStructure* t) {
- return t->RelatingStructure();
- }
-
- IfcEntityList::ptr get_children_of_relation(IfcUtil::IfcBaseClass* t) {
- return *t->data().getArgument(
- t->declaration().as_entity()->attribute_index("RelatedElements")
- );
- }
-
IfcEntityList::ptr get_children_of_relation(Ifc2x3::IfcRelContainedInSpatialStructure* t) {
return t->RelatedElements()->generalize();
}
- IfcEntityList::ptr get_children_of_relation(Ifc4::IfcRelContainedInSpatialStructure* t) {
- return t->RelatedElements()->generalize();
- }
-
- IfcEntityList::ptr get_children_of_relation(Ifc4x1::IfcRelContainedInSpatialStructure* t) {
- return t->RelatedElements()->generalize();
- }
-
- IfcEntityList::ptr get_children_of_relation(Ifc4x2::IfcRelContainedInSpatialStructure* t) {
- return t->RelatedElements()->generalize();
- }
-
- IfcEntityList::ptr get_children_of_relation(Ifc4x3_rc1::IfcRelContainedInSpatialStructure* t) {
- return t->RelatedElements()->generalize();
- }
-
IfcEntityList::ptr get_children_of_relation(Ifc2x3::IfcRelAggregates* t) {
return t->RelatedObjects()->generalize();
}
+ void set_children_of_relation(Ifc2x3::IfcRelContainedInSpatialStructure* t, IfcEntityList::ptr& cs) {
+ t->setRelatedElements(cs->as());
+ }
+
+ void set_children_of_relation(Ifc2x3::IfcRelAggregates* t, IfcEntityList::ptr& cs) {
+ t->setRelatedObjects(cs->as());
+ }
+#endif
+
+#ifdef HAS_SCHEMA_4
+ Ifc4::IfcObjectDefinition* get_parent_of_relation(Ifc4::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatingStructure();
+ }
+
+ IfcEntityList::ptr get_children_of_relation(Ifc4::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatedElements()->generalize();
+ }
+
IfcEntityList::ptr get_children_of_relation(Ifc4::IfcRelAggregates* t) {
return t->RelatedObjects()->generalize();
}
+ void set_children_of_relation(Ifc4::IfcRelContainedInSpatialStructure* t, IfcEntityList::ptr& cs) {
+ t->setRelatedElements(cs->as());
+ }
+
+ void set_children_of_relation(Ifc4::IfcRelAggregates* t, IfcEntityList::ptr& cs) {
+ t->setRelatedObjects(cs->as());
+ }
+#endif
+
+#ifdef HAS_SCHEMA_4x1
+ Ifc4x1::IfcObjectDefinition* get_parent_of_relation(Ifc4x1::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatingStructure();
+ }
+
+ IfcEntityList::ptr get_children_of_relation(Ifc4x1::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatedElements()->generalize();
+ }
+
IfcEntityList::ptr get_children_of_relation(Ifc4x1::IfcRelAggregates* t) {
return t->RelatedObjects()->generalize();
}
+ void set_children_of_relation(Ifc4x1::IfcRelContainedInSpatialStructure* t, IfcEntityList::ptr& cs) {
+ t->setRelatedElements(cs->as());
+ }
+
+ void set_children_of_relation(Ifc4x1::IfcRelAggregates* t, IfcEntityList::ptr& cs) {
+ t->setRelatedObjects(cs->as());
+ }
+#endif
+
+#ifdef HAS_SCHEMA_4x2
+ Ifc4x2::IfcObjectDefinition* get_parent_of_relation(Ifc4x2::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatingStructure();
+ }
+
+ IfcEntityList::ptr get_children_of_relation(Ifc4x2::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatedElements()->generalize();
+ }
+
IfcEntityList::ptr get_children_of_relation(Ifc4x2::IfcRelAggregates* t) {
return t->RelatedObjects()->generalize();
}
+ void set_children_of_relation(Ifc4x2::IfcRelContainedInSpatialStructure* t, IfcEntityList::ptr& cs) {
+ t->setRelatedElements(cs->as());
+ }
+
+ void set_children_of_relation(Ifc4x2::IfcRelAggregates* t, IfcEntityList::ptr& cs) {
+ t->setRelatedObjects(cs->as());
+ }
+#endif
+
+#ifdef HAS_SCHEMA_4x3_rc1
+ Ifc4x3_rc1::IfcObjectDefinition* get_parent_of_relation(Ifc4x3_rc1::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatingStructure();
+ }
+
+ IfcEntityList::ptr get_children_of_relation(Ifc4x3_rc1::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatedElements()->generalize();
+ }
+
IfcEntityList::ptr get_children_of_relation(Ifc4x3_rc1::IfcRelAggregates* t) {
return t->RelatedObjects()->generalize();
}
+ void set_children_of_relation(Ifc4x3_rc1::IfcRelContainedInSpatialStructure* t, IfcEntityList::ptr& cs) {
+ t->setRelatedElements(cs->as());
+ }
+
+ void set_children_of_relation(Ifc4x3_rc1::IfcRelAggregates* t, IfcEntityList::ptr& cs) {
+ t->setRelatedObjects(cs->as());
+ }
+#endif
+
+#ifdef HAS_SCHEMA_4x3_rc2
+ Ifc4x3_rc2::IfcObjectDefinition* get_parent_of_relation(Ifc4x3_rc2::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatingStructure();
+ }
+
+ IfcEntityList::ptr get_children_of_relation(Ifc4x3_rc2::IfcRelContainedInSpatialStructure* t) {
+ return t->RelatedElements()->generalize();
+ }
+
+ IfcEntityList::ptr get_children_of_relation(Ifc4x3_rc2::IfcRelAggregates* t) {
+ return t->RelatedObjects()->generalize();
+ }
+
+ void set_children_of_relation(Ifc4x3_rc2::IfcRelContainedInSpatialStructure* t, IfcEntityList::ptr& cs) {
+ t->setRelatedElements(cs->as