quelques fixes
This commit is contained in:
parent
91f55d2970
commit
75e32badd3
2
Car.py
2
Car.py
@ -30,6 +30,7 @@ class Car:
|
|||||||
self.index=0
|
self.index=0
|
||||||
self.laneInd=0
|
self.laneInd=0
|
||||||
self.route=[]
|
self.route=[]
|
||||||
|
self.leader=None
|
||||||
|
|
||||||
self.pos=[0,0]
|
self.pos=[0,0]
|
||||||
self.v=0
|
self.v=0
|
||||||
@ -94,6 +95,7 @@ class Car:
|
|||||||
if(de<df and db<minDist):
|
if(de<df and db<minDist):
|
||||||
minDist=db
|
minDist=db
|
||||||
leader=l
|
leader=l
|
||||||
|
self.leader=leader
|
||||||
|
|
||||||
self.conduite(self.vmax,leader,dt)
|
self.conduite(self.vmax,leader,dt)
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ import sumolib
|
|||||||
from Car import Car
|
from Car import Car
|
||||||
from carInfo import Ui_carInfo
|
from carInfo import Ui_carInfo
|
||||||
from PySide6.QtWidgets import QWidget, QLabel
|
from PySide6.QtWidgets import QWidget, QLabel
|
||||||
|
from PySide6.QtCore import Qt
|
||||||
|
|
||||||
class carInfo(QWidget):
|
class carInfo(QWidget):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -23,6 +24,9 @@ class CarController:
|
|||||||
|
|
||||||
def fromPath(self,path):
|
def fromPath(self,path):
|
||||||
self.cars=[]
|
self.cars=[]
|
||||||
|
while(self.infoWidget.count() != 0):
|
||||||
|
self.infoWidget.removeItem(0)
|
||||||
|
|
||||||
for vehicle in sumolib.xml.parse(path,"vehicle"):
|
for vehicle in sumolib.xml.parse(path,"vehicle"):
|
||||||
route=vehicle.route[0].edges.split()
|
route=vehicle.route[0].edges.split()
|
||||||
wId=self.infoWidget.addItem(carInfo(), vehicle.id)
|
wId=self.infoWidget.addItem(carInfo(), vehicle.id)
|
||||||
@ -47,7 +51,15 @@ class CarController:
|
|||||||
car.update(1.0/60)
|
car.update(1.0/60)
|
||||||
|
|
||||||
def draw(self,painter):
|
def draw(self,painter):
|
||||||
for car in self.cars:
|
for ind,car in enumerate(self.cars):
|
||||||
|
selectedId = self.infoWidget.currentIndex()
|
||||||
|
selectedCar = self.cars[selectedId]
|
||||||
|
if(ind == selectedId):
|
||||||
|
painter.setPen(Qt.green)
|
||||||
|
elif(selectedCar.leader is not None and selectedCar.leader.id == car.id):
|
||||||
|
painter.setPen(Qt.red)
|
||||||
|
else:
|
||||||
|
painter.setPen(Qt.white)
|
||||||
car.draw(painter)
|
car.draw(painter)
|
||||||
|
|
||||||
def setInfoWidget(self, widget):
|
def setInfoWidget(self, widget):
|
||||||
|
4
DOC.md
4
DOC.md
@ -7,10 +7,10 @@
|
|||||||
|
|
||||||
### Edge
|
### Edge
|
||||||
Relie deux nodes, il possède un ID unique le décrivant et les deux ID des nodes composant ses extrémitées.
|
Relie deux nodes, il possède un ID unique le décrivant et les deux ID des nodes composant ses extrémitées.
|
||||||
Il ne possède pas directement d'information concernant le tracé de la route, ces données sont fournis par les [lanes](#lane)
|
Il ne possède pas directement d'information concernant le tracé de la route, ces données sont fournis par les [lanes](#Lane)
|
||||||
Un edge est considéré comme "interne" si il est inclus dans une jonction
|
Un edge est considéré comme "interne" si il est inclus dans une jonction
|
||||||
|
|
||||||
### Lane {#lane}
|
### Lane
|
||||||
Comme le nom l'indique, decris une voie de la route.
|
Comme le nom l'indique, decris une voie de la route.
|
||||||
Possède un ID et un index numéroté de droite à gauche, une vitesse maximale autorisé, une longueur.
|
Possède un ID et un index numéroté de droite à gauche, une vitesse maximale autorisé, une longueur.
|
||||||
Le tracé de la route est defini par la propriètée "shape" qui est composée d'une liste de position x,y
|
Le tracé de la route est defini par la propriètée "shape" qui est composée d'une liste de position x,y
|
||||||
|
Loading…
x
Reference in New Issue
Block a user