From daa7ca867c2c1333de811aa8b58fc03a79ec7c88 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Wed, 5 Apr 2023 11:54:22 +0200 Subject: [PATCH] model: Add river model on top of other model component. --- src/Model/River.py | 33 +++++++++++++++++++++++++++++++ src/Model/Study.py | 2 +- src/View/Network/NetworkWindow.py | 13 ++++++------ 3 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 src/Model/River.py diff --git a/src/Model/River.py b/src/Model/River.py new file mode 100644 index 00000000..4094bc91 --- /dev/null +++ b/src/Model/River.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +from Model.Network.Node import Node +from Model.Network.Edge import Edge +from Model.Network.Graph import Graph + +from Model.Geometry.Profile import Profile +from Model.Geometry.Reach import Reach + +class RiverNode(Node): + def __init__(self, id:str, name:str, + x:float, y:float): + super(RiverNode, self).__init__( + id, name, + x, y + ) + + self.locker = None + +class RiverReach(Edge): + def __init__(self, id:str, name:str, + node1:RiverNode = None, + node2:RiverNode = None): + super(RiverReach, self).__init__( + id, name, + node1, node2 + ) + + self.reach = None + +class River(Graph): + def __init__(self): + super(River, self).__init__() diff --git a/src/Model/Study.py b/src/Model/Study.py index 7363d026..59a2ec9c 100644 --- a/src/Model/Study.py +++ b/src/Model/Study.py @@ -19,7 +19,7 @@ class Study(Serializable): self.last_save_date = datetime.now() # Study data - self.data = {} + self.river = None @classmethod def new(cls): diff --git a/src/View/Network/NetworkWindow.py b/src/View/Network/NetworkWindow.py index 84940436..d2a7aa36 100644 --- a/src/View/Network/NetworkWindow.py +++ b/src/View/Network/NetworkWindow.py @@ -1,8 +1,7 @@ # -*- coding: utf-8 -*- -from Model.Network.Node import Node -from Model.Network.Edge import Edge -from Model.Network.Graph import Graph +from Model.River import RiverNode, RiverReach, River + from View.ASubWindow import ASubWindow from View.Network.GraphWidget import GraphWidget from View.Network.TableModel import ( @@ -26,11 +25,11 @@ class NetworkWindow(ASubWindow): self.ui.setWindowTitle(title) self.model = model - if "graph" not in self.model.data: - self.graph = Graph() - self.model.data["graph"] = self.graph + if self.model.river is None: + self.graph = River() + self.model.river = self.graph else: - self.graph = self.model.data["graph"] + self.graph = self.model.river # Graph Widget -- GitLab