continue work on tree

Commit
e05225247b4873fa1825a2adeee23f247c77ff03
Author
blendoit <blendoit@gmail.com>
Author date
Committer
blendoit <blendoit@gmail.com>
Committer date
Changed files
creator/base.py
index 1e8646d8..f6342c83 100644..100644
@@ -13,18 +13,23 @@
13 13 class Aircraft:
14 14 """This class tracks all sub-components and is fed to the evaluator."""
15 15 def __init__(self, evaluator, name):
16 Removed: self.tree = {name: self}
17 Removed: evaluator.tree[type(self).__name__] = self.tree
16 Added: self.tree = {name: None}
17 Added: if type(self).__name__ not in evaluator.tree:
18 Added: evaluator.tree[name] = self.tree
19 Added: else:
20 Added: evaluator.tree[name] = self.tree
18 21 self.evaluator = evaluator
19 22 self.name = name
20 23
21 Removed:
22 24 class Component:
23 25 """Basic component providing coordinates, tools and a component tree."""
24 26 def __init__(self, parent, name):
25 Removed: self.tree = {name: self}
26 Removed: # parent.tree.update(self.tree)
27 Removed: parent.tree[type(self).__name__] = self.tree
27 Added: self.tree = {type(self).__name__: name}
28 Added: # print(type(self).__name__)
29 Added: if type(self).__name__ not in parent.tree:
30 Added: parent.tree.update(self.tree)
31 Added: else:
32 Added: parent.tree[name] = self.tree
28 33 self.parent = parent
29 34 self.name = name
30 35 self.x = np.array([])
evaluator/evaluator.py
index d26ee133..e6b55b40 100644..100644
@@ -15,7 +15,8 @@
15 15 class Evaluator:
16 16 """Performs structural evaluations on aircrafts.
17 17 Individual aircrafts must claim an Evaluator object as parent."""
18 Removed: def __init__(self):
18 Added: def __init__(self, name):
19 Added: self.name = name
19 20 self.tree = {} # Keys are component names, values are objects
20 21 self.results = []
21 22 # # Evaluator knows all geometrical info from evaluated airfoil
@@ -172,9 +173,10 @@
172 173 # print("yayyyyy")
173 174 # return None
174 175
175 Removed: def update(self):
176 Added: def update_tree(self):
176 177 """Refresh evaluator aircraft tree."""
177 Removed: print(self.tree)
178 Added: # print(self.name, "tree is:")
179 Added: # print(self.tree)
178 180
179 181 # self.results.append(self.analysis(aircraft))
180 182
example_airfoil.py
index aa1a5f01..6c272a2e 100644..100644
@@ -42,7 +42,7 @@
42 42
43 43 SAVE_PATH = '/home/blendux/Projects/Aircraft_Studio/save'
44 44
45 Removed: eval = evaluator.Evaluator()
45 Added: eval = evaluator.Evaluator("eval")
46 46
47 47 ac = creator.base.Aircraft(eval, "ac")
48 48 af = creator.wing.Airfoil(ac, 'af')
@@ -62,7 +62,9 @@
62 62 spar3 = creator.wing.Spar(af2, 'spar3', 0.23)
63 63 spar4 = creator.wing.Spar(af2, 'spar4', 0.67)
64 64
65 Removed: eval.update()
65 Added: # eval.update_tree()
66 Added: # ac2.update_tree()
67 Added: print(ac2.tree)
66 68 # eval.info_print(2)
67 69
68 70 # # Create stringer instance