This commit is contained in:
leo 2022-03-16 19:21:04 +01:00
parent c1f77a01e4
commit 9d38c3afab
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB
3 changed files with 30 additions and 6 deletions

View File

@ -95,32 +95,41 @@ class varEdit(QWidget):
self.CC.updateConstant(self.hookName, value) self.CC.updateConstant(self.hookName, value)
class CarController: class CarController:
def __init__(self, parentMap, mainWindow): def __init__(self, parentMap):
self.map=parentMap self.map=parentMap
self.cars=[] self.cars=[]
self.flows=[] self.flows=[]
self.t=0 self.t=0
self.infoWidget=mainWindow.findChild(QToolBox, "carInfos")
self.infoWidget = None
self.vroomEnable=True self.vroomEnable=True
def addParent(self, mainWindow):
self.infoWidget=mainWindow.findChild(QToolBox, "carInfos")
varWidget = mainWindow.ui.constEdit varWidget = mainWindow.ui.constEdit
varWidget.addWidget(varEdit(varWidget, self, "gamma", 5)) varWidget.addWidget(varEdit(varWidget, self, "gamma", 5))
varWidget.addWidget(varEdit(varWidget, self, "delta", 0.5)) varWidget.addWidget(varEdit(varWidget, self, "delta", 0.5))
varWidget.addWidget(varEdit(varWidget, self, "T", 0.3)) varWidget.addWidget(varEdit(varWidget, self, "T", 0.3))
varWidget.addWidget(varEdit(varWidget, self, "size", 3)) varWidget.addWidget(varEdit(varWidget, self, "size", 3))
def fromPath(self,path): def fromPath(self,path):
self.cars=[] self.cars=[]
self.t=0 self.t=0
while self.infoWidget.count() != 0:
while self.infoWidget is not None and self.infoWidget.count() != 0:
self.infoWidget.removeItem(0) self.infoWidget.removeItem(0)
for vehicle in sumolib.xml.parse(path,["vehicle","flow"]): for vehicle in sumolib.xml.parse(path,["vehicle","flow"]):
route=vehicle.route[0].edges.split() route=vehicle.route[0].edges.split()
if vehicle.name == "vehicle": if vehicle.name == "vehicle":
wId=self.infoWidget.addItem(carInfo(self.infoWidget), vehicle.id) if(self.infoWidget is not None) :
self.cars.append(Car(vehicle.id,route,vehicle.depart,self.map,self,self.infoWidget.widget(wId))) wId=self.infoWidget.addItem(carInfo(self.infoWidget), vehicle.id)
self.cars.append(Car(vehicle.id,route,vehicle.depart,self.map,self,self.infoWidget.widget(wId)))
else:
self.cars.append(Car(vehicle.id,route,vehicle.depart,self.map,self,None))
elif vehicle.name == "flow": elif vehicle.name == "flow":
self.flows.append(Flow(vehicle.id, route, vehicle.begin, vehicle.vehsPerHour, self.map, self)) self.flows.append(Flow(vehicle.id, route, vehicle.begin, vehicle.vehsPerHour, self.map, self))

View File

@ -17,7 +17,8 @@ class mainLoop(QObject):
self.map = Map() self.map = Map()
self.controller = CarController(self.map, parent) self.controller = CarController(self.map)
self.controller.addParent(parent)
self.painter.addMap(self.map) self.painter.addMap(self.map)
self.painter.addCarController(self.controller) self.painter.addCarController(self.controller)

14
test_blender.py Normal file
View File

@ -0,0 +1,14 @@
from CarController import CarController
from Map import Map
m = Map()
cc = CarController(m)
m.fromPath("test7.net.xml")
cc.fromPath("test12.rou.xml")
cc.prepareRoute()
while True:
cc.update()
for car in cc.cars:
print(car.pos)