From 4f9a4db7597ba05c80fcabbaea8a3ee3afffa143 Mon Sep 17 00:00:00 2001 From: Alexandre RIO Date: Fri, 12 Sep 2025 23:04:10 +0200 Subject: [PATCH] connect patterns with single link --- grid/ui/pattern.py | 43 ++++++++++++++++++++++++++++++++++++------- grid/ui/window.py | 3 ++- screenshot.png | Bin 23101 -> 29328 bytes 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/grid/ui/pattern.py b/grid/ui/pattern.py index fafe1df..0535eed 100644 --- a/grid/ui/pattern.py +++ b/grid/ui/pattern.py @@ -16,6 +16,7 @@ from grid.ui.items import ( HPSphereGraphicsItem, ArcGraphicsItem, LineGraphicsItem, + SphereGraphicsItem, random_sphere_factory, ) @@ -31,6 +32,26 @@ class Pattern(QGraphicsItemGroup): # center coordinates of the pattern self.center_x = top_left_corner_x + int(self.PATTERN_WIDTH / 2) self.center_y = top_left_corner_y + int(self.PATTERN_WIDTH / 2) + self.external_connectors: List[SphereGraphicsItem] = [] + + def get_external_connectors(self) -> List[SphereGraphicsItem]: + """Candidate spheres to connect with other patterns. + + Returns: + List[SphereGraphicsItem]: List of spheres + """ + return self.external_connectors + + def connect(self, other: "Pattern") -> None: + s1 = self.external_connectors[0] + s2 = other.external_connectors[1] + line_start_x = s1.x_pos + s1.SPHERE_WIDTH / 2 + line_start_y = s1.y_pos + s1.SPHERE_WIDTH / 2 + line_end_x = s2.x_pos + s2.SPHERE_WIDTH / 2 + line_end_y = s2.y_pos + s2.SPHERE_WIDTH / 2 + self.addToGroup( + LineGraphicsItem(line_start_x, line_start_y, line_end_x, line_end_y, self) + ) def paint( self, @@ -39,8 +60,8 @@ class Pattern(QGraphicsItemGroup): widget: QWidget | None = ..., ): super().paint(painter, option, widget) - brush = QBrush(Qt.GlobalColor.gray) - painter.setBrush(brush) + # brush = QBrush(Qt.GlobalColor.gray) + # painter.setBrush(brush) painter.drawRect( self.top_left_corner_x, self.top_left_corner_y, @@ -143,7 +164,9 @@ class LargeUltimaPattern(Pattern): ) ) for x, y in points: - self.addToGroup(random_sphere_factory(x, y)) + external_sphere = random_sphere_factory(x, y) + self.addToGroup(external_sphere) + self.external_connectors.append(external_sphere) # self.addToGroup( # ArcGraphicsItem( # self.center_x, self.center_y, self.SPACE_BETWEEN_SPHERE * 2, 0, 90, self @@ -178,15 +201,21 @@ class SmallZPattern(Pattern): self.center_x, self.center_y, self.SPACE_BETWEEN_SPHERE, sphere_on_circle ) self.addToGroup( - LineGraphicsItem(self.center_x, self.center_y, points[1][0], points[1][1], self) + LineGraphicsItem( + self.center_x, self.center_y, points[1][0], points[1][1], self + ) ) self.addToGroup( - LineGraphicsItem(self.center_x, self.center_y, points[4][0], points[4][1], self) + LineGraphicsItem( + self.center_x, self.center_y, points[4][0], points[4][1], self + ) ) # Remove left and right sphere del points[0] del points[2] for x, y in points: - self.addToGroup(random_sphere_factory(x, y)) + external_sphere = random_sphere_factory(x, y) + self.addToGroup(external_sphere) + self.external_connectors.append(external_sphere) - self.addToGroup(HPSphereGraphicsItem(self.center_x, self.center_y)) \ No newline at end of file + self.addToGroup(HPSphereGraphicsItem(self.center_x, self.center_y)) diff --git a/grid/ui/window.py b/grid/ui/window.py index 18561cd..4746acb 100644 --- a/grid/ui/window.py +++ b/grid/ui/window.py @@ -18,7 +18,8 @@ class Window(QWidget): self.scene = QGraphicsScene(0, 0, 400, 400) pp1 = LargeUltimaPattern(0, 0) - pp2 = SmallZPattern(401, 0) + pp2 = SmallZPattern(351, 0) + pp1.connect(pp2) self.scene.addItem(pp1) self.scene.addItem(pp2) diff --git a/screenshot.png b/screenshot.png index d467bfc5c6debd8cbc91e961d96a76ac3f7e0879..9875d64eef0d87abbfe7a5aa2f614411223b90dc 100644 GIT binary patch literal 29328 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 CgkUEC literal 23101 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