def draw(self, scale, pos): LINE_COLOUR = (255, 255, 255) # gl.glEnable(gl.GL_DEPTH_TEST); gl.glEnable(gl.GL_BLEND) gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA) gl.glEnable(gl.GL_LINE_SMOOTH) gl.glHint(gl.GL_LINE_SMOOTH_HINT, gl.GL_DONT_CARE) gl.glBegin(gl.GL_LINES) for link in self.links: if link.highlight: gl.glColor3ub(*self.colour) gl.glColor3ub(*self.colour) else: gl.glColor3ub(*LINE_COLOUR) gl.glColor3ub(*LINE_COLOUR) if link.highlight: depth = 0.5 else: depth = 0.5 gl.glVertex3f(*util.add_tup(pos, util.scale_tup(link.points[0].pos, scale)) + (depth,)) gl.glVertex3f(*util.add_tup(pos, util.scale_tup(link.points[1].pos, scale)) + (depth,)) print util.add_tup(pos, util.scale_tup(link.points[0].pos, scale)) gl.glEnd()
def draw(self, scale, pos): LINE_COLOUR = (255, 255, 255) #gl.glEnable(gl.GL_DEPTH_TEST); gl.glEnable(gl.GL_BLEND) gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA) gl.glEnable(gl.GL_LINE_SMOOTH) gl.glHint(gl.GL_LINE_SMOOTH_HINT, gl.GL_DONT_CARE) gl.glBegin(gl.GL_LINES) for link in self.links: if link.highlight: gl.glColor3ub(*self.colour) gl.glColor3ub(*self.colour) else: gl.glColor3ub(*LINE_COLOUR) gl.glColor3ub(*LINE_COLOUR) if link.highlight: depth = 0.5 else: depth = 0.5 gl.glVertex3f( *util.add_tup(pos, util.scale_tup(link.points[0].pos, scale)) + (depth, )) gl.glVertex3f( *util.add_tup(pos, util.scale_tup(link.points[1].pos, scale)) + (depth, )) print util.add_tup(pos, util.scale_tup(link.points[0].pos, scale)) gl.glEnd()
def on_draw(self): self.clear() if CENTER_ON: gl.glBegin(gl.GL_POLYGON) for delta in POINT_DELTAS: gl.glColor3ub(*CENTER_COLOUR) gl.glVertex2f(*util.add_tup(self.vector_to_screen(0,0),delta)) gl.glEnd() if GRID_ON: gl.glBegin(gl.GL_LINES) for x in range(-int(self.view_size[0]/GRID_SIZE),int(self.view_size[0]/GRID_SIZE)): gl.glColor3ub(*GRID_COLOUR) gl.glColor3ub(*GRID_COLOUR) gl.glVertex2f(*self.vector_to_screen(x*GRID_SIZE,-self.view_size[1]/2)) gl.glVertex2f(*self.vector_to_screen(x*GRID_SIZE,+self.view_size[1]/2)) for y in range(-int(self.view_size[1]/GRID_SIZE),int(self.view_size[1]/GRID_SIZE)): gl.glColor3ub(*GRID_COLOUR) gl.glColor3ub(*GRID_COLOUR) gl.glVertex2f(*self.vector_to_screen(-self.view_size[0]/2,y*GRID_SIZE)) gl.glVertex2f(*self.vector_to_screen(+self.view_size[0]/2,y*GRID_SIZE)) gl.glEnd() gl.glBegin(gl.GL_LINES) for link in self.vector.links: if link.highlight: gl.glColor3ub(*self.vector.colour) gl.glColor3ub(*self.vector.colour) else: gl.glColor3ub(*LINE_COLOUR) gl.glColor3ub(*LINE_COLOUR) gl.glVertex2f(*self.vector_to_screen(*link.points[0].pos)) gl.glVertex2f(*self.vector_to_screen(*link.points[1].pos)) gl.glEnd() for point in self.vector.points: gl.glBegin(gl.GL_POLYGON) if point == self.hover_point: for x in range(4): gl.glColor3ub(*POINT_HOVER_COLOUR) elif point == self.active_point: for x in range(4): gl.glColor3ub(*POINT_ACTIVE_COLOUR) else: for x in range(4): gl.glColor3ub(*POINT_COLOUR) for delta in POINT_DELTAS: gl.glVertex2f(*util.add_tup(self.vector_to_screen(*point.pos),delta)) gl.glEnd()
def on_draw(self): self.clear() if CENTER_ON: gl.glBegin(gl.GL_POLYGON) for delta in POINT_DELTAS: gl.glColor3ub(*CENTER_COLOUR) gl.glVertex2f( *util.add_tup(self.vector_to_screen(0, 0), delta)) gl.glEnd() if GRID_ON: gl.glBegin(gl.GL_LINES) for x in range(-int(self.view_size[0] / GRID_SIZE), int(self.view_size[0] / GRID_SIZE)): gl.glColor3ub(*GRID_COLOUR) gl.glColor3ub(*GRID_COLOUR) gl.glVertex2f( *self.vector_to_screen(x * GRID_SIZE, -self.view_size[1] / 2)) gl.glVertex2f( *self.vector_to_screen(x * GRID_SIZE, +self.view_size[1] / 2)) for y in range(-int(self.view_size[1] / GRID_SIZE), int(self.view_size[1] / GRID_SIZE)): gl.glColor3ub(*GRID_COLOUR) gl.glColor3ub(*GRID_COLOUR) gl.glVertex2f(*self.vector_to_screen(-self.view_size[0] / 2, y * GRID_SIZE)) gl.glVertex2f(*self.vector_to_screen(+self.view_size[0] / 2, y * GRID_SIZE)) gl.glEnd() gl.glBegin(gl.GL_LINES) for link in self.vector.links: if link.highlight: gl.glColor3ub(*self.vector.colour) gl.glColor3ub(*self.vector.colour) else: gl.glColor3ub(*LINE_COLOUR) gl.glColor3ub(*LINE_COLOUR) gl.glVertex2f(*self.vector_to_screen(*link.points[0].pos)) gl.glVertex2f(*self.vector_to_screen(*link.points[1].pos)) gl.glEnd() for point in self.vector.points: gl.glBegin(gl.GL_POLYGON) if point == self.hover_point: for x in range(4): gl.glColor3ub(*POINT_HOVER_COLOUR) elif point == self.active_point: for x in range(4): gl.glColor3ub(*POINT_ACTIVE_COLOUR) else: for x in range(4): gl.glColor3ub(*POINT_COLOUR) for delta in POINT_DELTAS: gl.glVertex2f(*util.add_tup(self.vector_to_screen( *point.pos), delta)) gl.glEnd()