Exemple #1
0
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))
Exemple #2
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()
Exemple #3
0
 def render(self, renderer: RenderingManager):
     if self.RENDER_PATH:
         renderer.draw_polyline_3d(self.path.points[::5], renderer.white())