From: Antonio Ospite Date: Thu, 18 Jun 2015 10:26:05 +0000 (+0200) Subject: Diagram.py: add a draw_polygon() wrapper which also calculate vertices X-Git-Url: https://git.ao2.it/experiments/RadialSymmetry.git/commitdiff_plain/6f91eff6a3d5b807880f2ced0200cf95b6c694fb Diagram.py: add a draw_polygon() wrapper which also calculate vertices --- diff --git a/Diagram.py b/Diagram.py index 4e14b1c..cb4bde1 100755 --- a/Diagram.py +++ b/Diagram.py @@ -106,7 +106,7 @@ class Diagram(object): cr.line_to(v[0], v[1]) cr.close_path() - def draw_polygon(self, verts, fill_color=None, stroke_color=[0, 0, 0]): + def draw_polygon_by_verts(self, verts, fill_color=None, stroke_color=[0, 0, 0]): cr = self.cr if fill_color: @@ -121,6 +121,10 @@ class Diagram(object): cr.set_source_rgba(r, g, b, a) cr.stroke() + def draw_polygon(self, cx, cy, sides, r, theta=0.0, fill_color=None, stroke_color=[0, 0, 0]): + verts = self.get_regular_polygon(cx, cy, sides, r, theta) + self.draw_polygon_by_verts(verts, fill_color, stroke_color) + def draw_star(self, cx, cy, verts, stroke_color=[0, 0, 0]): cr = self.cr diff --git a/RadialSymmetryDiagram.py b/RadialSymmetryDiagram.py index e21694b..09a3638 100755 --- a/RadialSymmetryDiagram.py +++ b/RadialSymmetryDiagram.py @@ -66,7 +66,7 @@ class RadialSymmetryDiagram(Diagram.Diagram): base_polygon_orientation) if model.show_base_polygon: - self.draw_polygon(verts, None, [0, 0, 0]) + self.draw_polygon_by_verts(verts, None, [0, 0, 0]) for i, v in enumerate(verts[:]): radial_orientation_angle = (i + 1) * central_angle @@ -95,8 +95,8 @@ class RadialSymmetryDiagram(Diagram.Diagram): def draw_element(self, x, y, model, theta, color=[0, 0, 0]): if model.show_elements: - tverts = self.get_regular_polygon(x, y, model.element_sides, model.element_radius, theta) - self.draw_polygon(tverts, None, color) + self.draw_polygon(x, y, model.element_sides, model.element_radius, + theta, None, color) if model.show_stars: apothem = model.element_radius * cos(pi / model.element_sides)