WIP: nettoyage + TODO list
This commit is contained in:
parent
9261bc03cf
commit
3517e73de4
Binary file not shown.
|
@ -3,23 +3,31 @@ from anytree import Node, AnyNode, NodeMixin, RenderTree
|
||||||
from anytree.exporter import DotExporter
|
from anytree.exporter import DotExporter
|
||||||
from ete3 import Tree
|
from ete3 import Tree
|
||||||
|
|
||||||
cset = {(0,0,'root')} # TODO 1) get_node_self_id <> pas de doublon
|
# TODO Contrôles de cohérence des données
|
||||||
# TODO 2) un node_parent_id existe toujours
|
# 1) node_id <> pas de doublon
|
||||||
|
# 2) pas de node sans un node_parent_id
|
||||||
|
|
||||||
for i in range (0, len(model.testmodel.get_conditions().get_condition_array())):
|
conditions_set = set()
|
||||||
|
|
||||||
|
for i in range (0, len(model.testmodel.get_conditions().get_conditions_array())):
|
||||||
cnd = model.testmodel.get_conditions().get_condition(i)
|
cnd = model.testmodel.get_conditions().get_condition(i)
|
||||||
cset.add((cnd.get_node_self_id(), cnd.get_node_parent_id(), cnd.get_weight())) # TODO coord
|
conditions_set.add((cnd.get_node_self_id(),
|
||||||
|
cnd.get_node_parent_id(),
|
||||||
|
cnd.get_coord("x"),
|
||||||
|
# TODO cnd.get_coord("y"),...
|
||||||
|
cnd.get_site(),
|
||||||
|
cnd.get_weight()))
|
||||||
|
|
||||||
class TreeNode(object):
|
class TreeNode(object):
|
||||||
|
|
||||||
def __init__(self, id, parent, weight, coord):
|
def __init__(self, id, parent, x, site, weight):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.children = None
|
|
||||||
self.weight = weight
|
|
||||||
self.coord = coord
|
|
||||||
self.ch = []
|
self.ch = []
|
||||||
|
self.x = x
|
||||||
|
# TODO self.y = y,...
|
||||||
|
self.site = site
|
||||||
|
self.weight = weight
|
||||||
|
|
||||||
def id(self): return id
|
def id(self): return id
|
||||||
|
|
||||||
|
@ -27,24 +35,20 @@ class TreeNode(object):
|
||||||
self.ch.append(ch_id)
|
self.ch.append(ch_id)
|
||||||
self.ch = sorted(self.ch, key=id)
|
self.ch = sorted(self.ch, key=id)
|
||||||
|
|
||||||
|
|
||||||
l = []
|
l = []
|
||||||
|
|
||||||
tnn = TreeNode(0, 0, 0, 0)
|
for i in conditions_set: # sorted(conditions_set, key=id):
|
||||||
|
cndt = TreeNode(i[0], i[1], i[2], i[3], i[4]) # TODO y,z,...
|
||||||
for i in cset: # sorted(cset, key=id):
|
|
||||||
cndt = TreeNode(i[0], i[1], i[2], 0)
|
|
||||||
l.append(cndt)
|
l.append(cndt)
|
||||||
|
|
||||||
for i in l:
|
for i in l:
|
||||||
for j in l:
|
for j in l:
|
||||||
if (i.id == j.parent):
|
if (i.id == j.parent):
|
||||||
i.add_child(j)
|
i.add_child(j)
|
||||||
else:
|
|
||||||
i.add_child(tnn)
|
|
||||||
|
|
||||||
for i in l:
|
for i in l:
|
||||||
print(i.id,' ',i.parent,' [',i.ch[0].id,' ',i.ch[1].id,' ',i.ch[2].id,' ',i.ch[3].id,' ',i.ch[4].id,']')
|
cnd = str(i.id) + ' ' + str(i.parent) + ' [' + str(len(i.ch)) + ']'
|
||||||
|
print(cnd)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,30 +57,32 @@ for i in l:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
##
|
##
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sp = model.testmodel.get_states().get_space(0)
|
sp = model.testmodel.get_states().get_space(0)
|
||||||
size = model.testmodel.get_parameters().spaceparam.get_dimension().get_x()
|
size = model.testmodel.get_parameters().spaceparam.get_dimension().get_x()
|
||||||
nb_sites = int (model.testmodel.get_parameters().spaceparam.get_site_multiplicity())
|
nb_sites = int (model.testmodel.get_parameters().spaceparam.get_site_multiplicity())
|
||||||
nb_arrows = int (model.testmodel.get_states().get_space(0).get_nb_arrows())
|
nb_arrows = int (model.testmodel.get_states().get_space(0).get_nb_arrows())
|
||||||
weight = int (model.testmodel.get_states().get_space(0).get_arrow(0).get_weight())
|
weight = int (model.testmodel.get_states().get_space(0).get_arrow(0).get_weight())
|
||||||
|
|
||||||
# TODO Contrôles cohérence des données (module à prévoir)
|
# TODO Contrôles de cohérence des données
|
||||||
# pour condition et arrow : weight < weight_max (à définir)
|
# condition et arrow
|
||||||
# pour condition et arrow : arrow.site < site_multiplicity
|
# 1) weight < weight_max (à définir)
|
||||||
# pour condition et arrow : arrow.x < space-param.dimension.x (idem autres axes)
|
# 2) arrow.site < site_multiplicity
|
||||||
# condition.parent <= condition.node_id max value (donc deux lectures)
|
# 3) arrow.x < space-param.dimension.x (idem autres axes)
|
||||||
|
# condition
|
||||||
|
# 1) parent <= condition.node_id max value (donc deux lectures)
|
||||||
|
# 2) pas de node sans un node_parent_id
|
||||||
|
|
||||||
space = []
|
space = []
|
||||||
cells = []
|
cells = []
|
||||||
|
@ -116,4 +122,4 @@ print (cells)
|
||||||
print()
|
print()
|
||||||
print (space)
|
print (space)
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
|
@ -263,6 +263,7 @@ class Condition:
|
||||||
self.node = node
|
self.node = node
|
||||||
|
|
||||||
def get_coord(self, axis):
|
def get_coord(self, axis):
|
||||||
|
# print(self.node.get(axis))
|
||||||
return int(self.node.get(axis))
|
return int(self.node.get(axis))
|
||||||
|
|
||||||
def set_coord(self, axis, value):
|
def set_coord(self, axis, value):
|
||||||
|
@ -305,7 +306,7 @@ class Conditions:
|
||||||
def get_condition(self, i):
|
def get_condition(self, i):
|
||||||
return self.__conditions[i]
|
return self.__conditions[i]
|
||||||
|
|
||||||
def get_condition_array(self):
|
def get_conditions_array(self):
|
||||||
return self.__conditions
|
return self.__conditions
|
||||||
|
|
||||||
class Transition:
|
class Transition:
|
||||||
|
@ -333,7 +334,7 @@ class Transitions:
|
||||||
def get_transition(self, i):
|
def get_transition(self, i):
|
||||||
return self.__transitions[i]
|
return self.__transitions[i]
|
||||||
|
|
||||||
def get_transition_array(self):
|
def get_transitiosn_array(self):
|
||||||
return self.__transitions
|
return self.__transitions
|
||||||
|
|
||||||
## Model
|
## Model
|
||||||
|
|
Loading…
Reference in New Issue