Sammlung der Ausnahmen hinzu: Falls Sensor/Unterverteiler keinem Rack zugeordnet werden konnten, müssen diese gesammelt werden.
This commit is contained in:
+27
-6
@@ -334,9 +334,15 @@ class Anlage():
|
|||||||
return self._racks.get_points_from_rack(rname)
|
return self._racks.get_points_from_rack(rname)
|
||||||
|
|
||||||
def get_points_from_sensors(self):
|
def get_points_from_sensors(self):
|
||||||
|
'''gibt die Aufpunkte aller Sensoren auf den Racks zurück'''
|
||||||
return self._sensors.values()
|
return self._sensors.values()
|
||||||
|
|
||||||
|
def get_distributor_onpoints(self):
|
||||||
|
'''gibt die Aufpunkte aller Unterverteiler auf den Racks zurück'''
|
||||||
|
return self._distributors_onpoints.values()
|
||||||
|
|
||||||
def get_sensor_onpoints(self):
|
def get_sensor_onpoints(self):
|
||||||
|
'''gibt die Aufpunkte aller Sensoren auf den Racks zurück'''
|
||||||
return self._sensor_onpoints.values()
|
return self._sensor_onpoints.values()
|
||||||
|
|
||||||
def add_sensor(self, sname: str, pos:Point):
|
def add_sensor(self, sname: str, pos:Point):
|
||||||
@@ -349,17 +355,25 @@ class Anlage():
|
|||||||
def get_sensor_point(self, sname:str) -> Point:
|
def get_sensor_point(self, sname:str) -> Point:
|
||||||
return self._sensors[sname]
|
return self._sensors[sname]
|
||||||
|
|
||||||
def connect_sensors_to_racks(self):
|
|
||||||
|
def connect_sensors_to_racks(self) -> list:
|
||||||
|
'''verbindet die Sensoren mit den Racks.
|
||||||
|
die Rückgabe enthält ein Tuple, welche Sensoren keinem Rack zugeordnet werden konnten
|
||||||
|
'''
|
||||||
|
errors = list()
|
||||||
for sname, pos in self._sensors.items():
|
for sname, pos in self._sensors.items():
|
||||||
rack_borders = self._racks.get_racks_borders()
|
rack_borders = self._racks.get_racks_borders()
|
||||||
onpoint, rack_name = self.find_nearest_rack_from_point(self._tol_connect, self._connect_step, pos, rack_borders)
|
onpoint, rack_name = self.find_nearest_rack_from_point(self._tol_connect, self._connect_step, pos, rack_borders)
|
||||||
|
if onpoint == None or rack_name == None:
|
||||||
|
errors.append((sname, pos))
|
||||||
|
continue
|
||||||
self._sensor_onpoints[sname] = (onpoint, rack_name)
|
self._sensor_onpoints[sname] = (onpoint, rack_name)
|
||||||
self.add_point_to_rack(onpoint, rack_name)
|
self.add_point_to_rack(onpoint, rack_name)
|
||||||
# Füge "virtuelle Racks" von Sensor zu Aufpunkt von Sensor auf Rack hinzu.
|
# Füge "virtuelle Racks" von Sensor zu Aufpunkt von Sensor auf Rack hinzu.
|
||||||
vrackname = f"v-{sname}-{rack_name}"
|
vrackname = f"v-{sname}-{rack_name}"
|
||||||
self._racks.add_rack(pos, onpoint, vrackname)
|
self._racks.add_rack(pos, onpoint, vrackname)
|
||||||
return self._sensor_onpoints
|
return errors
|
||||||
|
|
||||||
def add_distributor(self, dname: str, pos:Point):
|
def add_distributor(self, dname: str, pos:Point):
|
||||||
self._distributors[dname] = pos
|
self._distributors[dname] = pos
|
||||||
|
|
||||||
@@ -370,16 +384,23 @@ class Anlage():
|
|||||||
def get_distributor_point(self, dname:str) -> Point:
|
def get_distributor_point(self, dname:str) -> Point:
|
||||||
return self._distributors[dname]
|
return self._distributors[dname]
|
||||||
|
|
||||||
def connect_distributor_to_racks(self):
|
def connect_distributor_to_racks(self) -> list:
|
||||||
|
'''verbindet die Unterverteiler mit den Racks
|
||||||
|
die Rückage enthält ein Tuple, welche Unterverteiler keinem Rack zugeordnet werden konnten
|
||||||
|
'''
|
||||||
|
errors = list()
|
||||||
for dname, pos in self._distributors.items():
|
for dname, pos in self._distributors.items():
|
||||||
rack_borders = self._racks.get_racks_borders()
|
rack_borders = self._racks.get_racks_borders()
|
||||||
onpoint, rack_name = self.find_nearest_rack_from_point(self._tol_connect, self._connect_step, pos, rack_borders)
|
onpoint, rack_name = self.find_nearest_rack_from_point(self._tol_connect, self._connect_step, pos, rack_borders)
|
||||||
|
if onpoint == None or rack_name == None:
|
||||||
|
errors.append((dname, pos))
|
||||||
|
continue
|
||||||
self._distributors_onpoints[dname] = (onpoint, rack_name)
|
self._distributors_onpoints[dname] = (onpoint, rack_name)
|
||||||
self.add_point_to_rack(onpoint, rack_name)
|
self.add_point_to_rack(onpoint, rack_name)
|
||||||
# Füge "virtuelle Racks" von Sensor zu Aufpunkt von Sensor auf Rack hinzu.
|
# Füge "virtuelle Racks" von Sensor zu Aufpunkt von Sensor auf Rack hinzu.
|
||||||
drackname = f"d-{dname}-{rack_name}"
|
drackname = f"d-{dname}-{rack_name}"
|
||||||
self._racks.add_rack(pos, onpoint, drackname)
|
self._racks.add_rack(pos, onpoint, drackname)
|
||||||
return self._distributors_onpoints
|
return errors
|
||||||
|
|
||||||
def join_racks(self):
|
def join_racks(self):
|
||||||
self._racks.join_racks()
|
self._racks.join_racks()
|
||||||
|
|||||||
Reference in New Issue
Block a user