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)
|
||||
|
||||
def get_points_from_sensors(self):
|
||||
'''gibt die Aufpunkte aller Sensoren auf den Racks zurück'''
|
||||
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):
|
||||
'''gibt die Aufpunkte aller Sensoren auf den Racks zurück'''
|
||||
return self._sensor_onpoints.values()
|
||||
|
||||
def add_sensor(self, sname: str, pos:Point):
|
||||
@@ -349,17 +355,25 @@ class Anlage():
|
||||
def get_sensor_point(self, sname:str) -> Point:
|
||||
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():
|
||||
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)
|
||||
if onpoint == None or rack_name == None:
|
||||
errors.append((sname, pos))
|
||||
continue
|
||||
self._sensor_onpoints[sname] = (onpoint, rack_name)
|
||||
self.add_point_to_rack(onpoint, rack_name)
|
||||
# Füge "virtuelle Racks" von Sensor zu Aufpunkt von Sensor auf Rack hinzu.
|
||||
vrackname = f"v-{sname}-{rack_name}"
|
||||
self._racks.add_rack(pos, onpoint, vrackname)
|
||||
return self._sensor_onpoints
|
||||
|
||||
return errors
|
||||
|
||||
def add_distributor(self, dname: str, pos:Point):
|
||||
self._distributors[dname] = pos
|
||||
|
||||
@@ -370,16 +384,23 @@ class Anlage():
|
||||
def get_distributor_point(self, dname:str) -> Point:
|
||||
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():
|
||||
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)
|
||||
if onpoint == None or rack_name == None:
|
||||
errors.append((dname, pos))
|
||||
continue
|
||||
self._distributors_onpoints[dname] = (onpoint, rack_name)
|
||||
self.add_point_to_rack(onpoint, rack_name)
|
||||
# Füge "virtuelle Racks" von Sensor zu Aufpunkt von Sensor auf Rack hinzu.
|
||||
drackname = f"d-{dname}-{rack_name}"
|
||||
self._racks.add_rack(pos, onpoint, drackname)
|
||||
return self._distributors_onpoints
|
||||
return errors
|
||||
|
||||
def join_racks(self):
|
||||
self._racks.join_racks()
|
||||
|
||||
Reference in New Issue
Block a user