Code Anpassung. Rack Namen werden nicht mehr überschrieben. Zeichenen des Graphen mit easy korrekt.
This commit is contained in:
+11
-15
@@ -118,14 +118,8 @@ class RackIDs():
|
||||
self._rack_tree = None
|
||||
|
||||
def add_rack(self, beg:Point, end:Point, name:str):
|
||||
if beg in self._point2rack:
|
||||
self._point2rack[beg].append(name)
|
||||
else:
|
||||
self._point2rack[beg] = [name]
|
||||
if end in self._point2rack:
|
||||
self._point2rack[end].append(name)
|
||||
else:
|
||||
self._point2rack[end] = [name]
|
||||
self.add_point_to_rack(beg, name)
|
||||
self.add_point_to_rack(end, name)
|
||||
|
||||
self._rack2begend[name] = (beg, end) # Anfangs und Endpunkte zu Rack Namen merken
|
||||
|
||||
@@ -155,12 +149,12 @@ class RackIDs():
|
||||
return list(self._rack2begend.keys())
|
||||
|
||||
def add_point_to_rack(self, point:Point, name:str):
|
||||
if point in self._point2rack:
|
||||
self._point2rack[point].append(name)
|
||||
else:
|
||||
self._point2rack[point] = [name]
|
||||
''' Fügt einen Punkt zu genanntem Rack hinzu. (z.B Zwischenpunkt in der Mitte)'''
|
||||
if point not in self._point2rack:
|
||||
self._point2rack[point] = set()
|
||||
self._point2rack[point].add(name)
|
||||
|
||||
def get_racks_from_point(self, point:Point) -> list[str]:
|
||||
def get_racks_from_point(self, point:Point) -> set[str]:
|
||||
return self._point2rack[point]
|
||||
|
||||
def get_points_from_rack(self, name:str) -> list[Point]:
|
||||
@@ -196,7 +190,6 @@ class RackIDs():
|
||||
rnames = self._rack_map
|
||||
allracks = self._rack_lines
|
||||
|
||||
|
||||
# Erzeugung von BoundingBox
|
||||
for i, l1 in enumerate(allracks):
|
||||
bbox = box(*l1.bounds).buffer(self._tol_snap)
|
||||
@@ -212,13 +205,14 @@ class RackIDs():
|
||||
if inter.geom_type == "Point":
|
||||
self.add_point_to_rack(inter, rnames[l1])
|
||||
self.add_point_to_rack(inter, rnames[l2])
|
||||
continue
|
||||
|
||||
# Beinahe Schnittpunkte -> Snapping
|
||||
for pt in [Point(l2.coords[0]), Point(l2.coords[-1])]:
|
||||
if l1.distance(pt) <= self._tol_snap:
|
||||
snap_point = l1.interpolate(l1.project(pt))
|
||||
self.add_point_to_rack(snap_point, rnames[l1])
|
||||
connrackname = f"c-{rnames[l2]}"
|
||||
connrackname = f"c-{rnames[l2]}-{rnames[l1]}"
|
||||
self.add_rack(pt, snap_point, connrackname)
|
||||
|
||||
def rack_is_horizontal(self, name):
|
||||
@@ -558,6 +552,8 @@ class Anlage():
|
||||
color = "orange"
|
||||
tname = rname.split("-")[2]
|
||||
weight = self.get_tunnel_length(tname)
|
||||
elif re.match("c-.*", rname):
|
||||
color = "green"
|
||||
else:
|
||||
color = "black"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user