You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NOTE: From now on Boost is required in order to compile IfcOpenShell
====================================================================
- Use boost::optional for optional IFC arguments
- Use boost::uuid for the creation of GlobalIds
- New IfcGeomObjects setting to force alignment of TopoDS_Face normal to CCW orientation
- Removed static Ifc class, renamed to non-static IfcFile. IfcFile renamed to IfcSpfStream
- Introduced Logger class
- Introduced EntityBuffer class that keeps track of all writable entities created to add them all in once to the IfcFile class
# Since inherited arguments of Express entities are placed in sequence before the non-inherited once, we need to keep track of how many inherited arguments exist
106
+
# Since inherited arguments of Express entities are placed in sequence before the
107
+
# non-inherited ones, we need to keep track of how many inherited arguments exist
107
108
#
108
109
defargument_start(c):
109
110
ifcnotinparent_relations: return0
@@ -123,6 +124,19 @@ def parent_arguments(c):
123
124
ifnot (cinparent_relations): break
124
125
return []
125
126
127
+
#
128
+
# Every constructor also initializes their parent class members, hence they
129
+
# need be stored as well.
130
+
#
131
+
defparent_arguments(c):
132
+
ifcnotinparent_relations: return []
133
+
l= []
134
+
whileTrue:
135
+
c=parent_relations[c]
136
+
i+=argument_count[c] ifcinargument_countelse0
137
+
ifnot (cinparent_relations): break
138
+
return []
139
+
126
140
#
127
141
# Several classes to generate code from Express types and entities
128
142
#
@@ -236,11 +250,12 @@ def is_enum(self): return str(self.type) in enumerations
0 commit comments