def draw_debug_view(self): # Draw circle indicating range indices, verts, colors = Shapes.make_circle(center=self.pos, radius=self.radius / 2.0) # Overwrite degenerate first point verts[1][0:1] = verts[1][-2:-1] n_points = len(verts[1]) // 2 pyglet.gl.glLineWidth(1) pyglet.graphics.draw(n_points, pyglet.gl.GL_LINE_LOOP, verts, colors) # Draw label showing # neighbours label_pos = (self.pos[0], self.pos[1] + 3 * self.size + 0.015) n_label = Shapes.make_label(str(self._neighbourhood_size), label_pos, size=14) n_label.draw()
def draw(self): # Draw selection circle around selected entity if self._cur_selected is not None: r = (self._cur_selected.size * 1.2) + 0.005 indices, verts, colors = Shapes.make_circle( center=self._cur_selected.pos, radius=r) # Overwrite degenerate first point verts = verts[1] verts[0:1] = verts[-2:-1] self._selection_ring.vertices = verts self._selection_ring.colors = colors[1] pyglet.gl.glLineWidth(1) self._selection_ring.draw(pyglet.gl.GL_LINE_LOOP) # Draw UI self._ui.draw()
def __init__(self, sim, keyboard=None): self.sim = sim self.keyboard = keyboard # Setup persistence.create_data_folder() # Controller parameters self.mode = ModeEnum.SELECT self.ticks_per_secs = 50.0 self.creatable_types = get_creatable_types() self.cur_creation_index = 0 self._cur_selected = None self._ui = controller_ui.ControllerUI() # Graphics self._selection_ring = Shapes.make_circle(as_vertexlist=True)
def draw(self, batch=None): indices, verts, colors = Shapes.make_circle( center=self.pos, radius=self.size, color=self.determine_color()) if batch is None: # Just draw the shape immediately n = len(verts[1]) // 2 pyglet.graphics.draw(n, pyglet.gl.GL_POLYGON, verts, colors) else: # Add indexed vertices to batch n = len(verts[1]) // 2 batch.add_indexed(n, pyglet.gl.GL_TRIANGLES, None, indices, verts, colors) if self.debug_view: self.draw_force_lines() if self.draw_trail_points: self.draw_trail()
def draw(self, batch=None): color = self.colors_heatmap() #(40, 10, 120) indices, verts, colors = Shapes.make_circle(n_points=20, center=self.pos, radius=self.size, color=color) if batch is None: # Draw directly n = len(verts[1]) // 2 pyglet.graphics.draw(n, pyglet.gl.GL_POLYGON, verts, colors) else: # Add indexed vertices to batch n = len(verts[1]) // 2 batch.add_indexed(n, pyglet.gl.GL_TRIANGLES, None, indices, verts, colors) # Debug view if self.debug_view: self.draw_debug_view()