Beispiel #1
0
    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()
Beispiel #2
0
    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()
Beispiel #3
0
 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()
Beispiel #4
0
    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()