model: Add river model on top of other model component.

This commit is contained in:
Pierre-Antoine Rouby committed 2023-04-05 11:54:22 +02:00
1 parent 35205973f1
commit daa7ca867c
3 files changed
+40 -8

No files matched your search

+33
View File
@@ -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__()
+1 -1
View File
@@ -19,7 +19,7 @@ class Study(Serializable):
self.last_save_date = datetime.now()
# Study data
self.data = {}
self.river = None
@classmethod
def new(cls):
+6 -7
View File
@@ -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