def render_ball_circle(renderer: RenderingManager, ball_pos): """ renders a ball-sized horizontal circle at @ball_pos Assumes renderer.begin_rendering has been called """ r = 50 theta = np.linspace(0, np.pi * 2.) a = ball_pos + np.vstack([r * np.sin(theta), r * np.cos(theta), 0 * theta ]).T renderer.draw_polyline_3d(a, renderer.create_color(255, 0, 255, 0))
def render(self, renderer: RenderingManager): for _ in range(10): if self.current_color_group < len(self.groups): unique_group_name = str(self.polygons_rendered) + str(self.current_color_group) renderer.begin_rendering(unique_group_name) group: ColoredPolygonGroup = self.groups[self.current_color_group] color = renderer.create_color(255, group.color.R, group.color.G, group.color.B) for i in range(10): if self.polygons_rendered < len(group.polygons): renderer.draw_polyline_3d(group.polygons[self.polygons_rendered].vertices, color) self.polygons_rendered += 1 else: self.polygons_rendered = 0 self.current_color_group += 1 break renderer.end_rendering()