@@ -196,14 +196,16 @@ def __init__(
196
196
loc : Optional [Location ] = None ,
197
197
name : Optional [str ] = None ,
198
198
color : Optional [Color ] = None ,
199
+ metadata : Optional [Dict [str , Any ]] = None ,
199
200
):
200
201
"""
201
202
construct an assembly
202
203
203
204
:param obj: root object of the assembly (default: None)
204
205
:param loc: location of the root object (default: None, interpreted as identity transformation)
205
- :param name: unique name of the root object (default: None, reasulting in an UUID being generated)
206
+ :param name: unique name of the root object (default: None, resulting in an UUID being generated)
206
207
:param color: color of the added object (default: None)
208
+ :param metadata: a store for user-defined metadata (default: None)
207
209
:return: An Assembly object.
208
210
209
211
@@ -222,6 +224,7 @@ def __init__(
222
224
self .loc = loc if loc else Location ()
223
225
self .name = name if name else str (uuid ())
224
226
self .color = color if color else None
227
+ self .metadata = metadata if metadata else {}
225
228
self .parent = None
226
229
227
230
self .children = []
@@ -235,7 +238,7 @@ def _copy(self) -> "Assembly":
235
238
Make a deep copy of an assembly
236
239
"""
237
240
238
- rv = self .__class__ (self .obj , self .loc , self .name , self .color )
241
+ rv = self .__class__ (self .obj , self .loc , self .name , self .color , self . metadata )
239
242
240
243
for ch in self .children :
241
244
ch_copy = ch ._copy ()
0 commit comments