From 9d38c3afabc39cb05ba6d844c5cff943e8cd4c2b Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 16 Mar 2022 19:21:04 +0100 Subject: [PATCH] headless --- CarController.py | 19 ++++++++++++++----- mainLoop.py | 3 ++- test_blender.py | 14 ++++++++++++++ 3 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 test_blender.py diff --git a/CarController.py b/CarController.py index 1cd09ea..6feb147 100644 --- a/CarController.py +++ b/CarController.py @@ -95,32 +95,41 @@ class varEdit(QWidget): self.CC.updateConstant(self.hookName, value) class CarController: - def __init__(self, parentMap, mainWindow): + def __init__(self, parentMap): self.map=parentMap self.cars=[] self.flows=[] self.t=0 - self.infoWidget=mainWindow.findChild(QToolBox, "carInfos") + + self.infoWidget = None self.vroomEnable=True + def addParent(self, mainWindow): + self.infoWidget=mainWindow.findChild(QToolBox, "carInfos") + varWidget = mainWindow.ui.constEdit varWidget.addWidget(varEdit(varWidget, self, "gamma", 5)) varWidget.addWidget(varEdit(varWidget, self, "delta", 0.5)) varWidget.addWidget(varEdit(varWidget, self, "T", 0.3)) varWidget.addWidget(varEdit(varWidget, self, "size", 3)) + def fromPath(self,path): self.cars=[] self.t=0 - while self.infoWidget.count() != 0: + + while self.infoWidget is not None and self.infoWidget.count() != 0: self.infoWidget.removeItem(0) for vehicle in sumolib.xml.parse(path,["vehicle","flow"]): route=vehicle.route[0].edges.split() if vehicle.name == "vehicle": - 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))) + if(self.infoWidget is not None) : + 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": self.flows.append(Flow(vehicle.id, route, vehicle.begin, vehicle.vehsPerHour, self.map, self)) diff --git a/mainLoop.py b/mainLoop.py index 6afe3a5..40a390a 100644 --- a/mainLoop.py +++ b/mainLoop.py @@ -17,7 +17,8 @@ class mainLoop(QObject): 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.addCarController(self.controller) diff --git a/test_blender.py b/test_blender.py new file mode 100644 index 0000000..9136282 --- /dev/null +++ b/test_blender.py @@ -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)