diff options
Diffstat (limited to 'creator/base.py')
-rw-r--r-- | creator/base.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/creator/base.py b/creator/base.py index 1e8646d..f6342c8 100644 --- a/creator/base.py +++ b/creator/base.py @@ -13,18 +13,23 @@ logging.basicConfig(filename='log.txt', class Aircraft: """This class tracks all sub-components and is fed to the evaluator.""" def __init__(self, evaluator, name): - self.tree = {name: self} - evaluator.tree[type(self).__name__] = self.tree + self.tree = {name: None} + if type(self).__name__ not in evaluator.tree: + evaluator.tree[name] = self.tree + else: + evaluator.tree[name] = self.tree self.evaluator = evaluator self.name = name - class Component: """Basic component providing coordinates, tools and a component tree.""" def __init__(self, parent, name): - self.tree = {name: self} - # parent.tree.update(self.tree) - parent.tree[type(self).__name__] = self.tree + self.tree = {type(self).__name__: name} + # print(type(self).__name__) + if type(self).__name__ not in parent.tree: + parent.tree.update(self.tree) + else: + parent.tree[name] = self.tree self.parent = parent self.name = name self.x = np.array([]) |