From 5b86bdc4a061f1fea06bca7db29cea13e23b90ad Mon Sep 17 00:00:00 2001 From: Xeon0X Date: Sat, 15 Jun 2024 21:20:33 +0200 Subject: [PATCH] Total and ordered full block placement --- networks/geometry/Polyline.py | 12 ++++-------- networks/roads_2/Roads.py | 5 ++--- output_image.png | Bin 2041 -> 3532 bytes 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/networks/geometry/Polyline.py b/networks/geometry/Polyline.py index 8a47d64..e77f3e2 100644 --- a/networks/geometry/Polyline.py +++ b/networks/geometry/Polyline.py @@ -63,11 +63,9 @@ class Polyline: self.get_segments() self.total_line_output = [] - # for i in range(1, self.length_polyline-1): - # self.total_line_output.extend(self.segments[i].segment()) - # self.total_line_output.extend(self.arcs[i]) - self.total_line_output.extend(self.segments[1].segment()) - self.total_line_output.extend(self.arcs[2]) + for i in range(1, self.length_polyline-1): + self.total_line_output.extend(self.segments[i].segment()) + self.total_line_output.extend(self.arcs[i]) def __repr__(self): return str(self.alpha_radii) @@ -113,10 +111,8 @@ class Polyline: self.acrs_intersections[i][0]) - Point2D.to_arrays(self.centers[i]))) double_point_b = Point2D.from_arrays(Point2D.to_arrays(self.acrs_intersections[i][2]) + 5 * (Point2D.to_arrays( self.acrs_intersections[i][2]) - Point2D.to_arrays(self.centers[i]))) - input("---") + for j in range(len(points)): - print(points[j], i, j, len(points)) - print(len(self.arcs[i]), len(self.arcs[i-1])) if points[j].is_in_triangle(double_point_a, self.centers[i], double_point_b): self.arcs[i].append(points[j]) return self.arcs diff --git a/networks/roads_2/Roads.py b/networks/roads_2/Roads.py index 7d5eacd..da70e72 100644 --- a/networks/roads_2/Roads.py +++ b/networks/roads_2/Roads.py @@ -1,13 +1,12 @@ import json from typing import List from networks.geometry.Polyline import Polyline -from networks.geometry.Segment2D import Segment2D -from networks.geometry.Segment3D import Segment3D + from networks.geometry.Point3D import Point3D from networks.geometry.Point2D import Point2D from networks.geometry.Circle import Circle from Enums import LINE_THICKNESS_MODE -from gdpc import Block, Editor, geometry +from gdpc import Block, Editor class Road: diff --git a/output_image.png b/output_image.png index 9ce53c84b34f0ab369c66d758e2f23708698ef5d..596dfb9efe0667d3405ff7396c1f4eda58d229c4 100644 GIT binary patch literal 3532 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