Пример #1
0
    def draw(self, render):
        ax = self.axes
        ms = np.zeros((len(self._sizes), 3, 3))
        ms[:, 0, 0] = self._sizes
        ms[:, 1, 1] = self._sizes
        ms[:, 2, 2] = 1
        self._transforms = ms

        m = ax.transData.get_affine().get_matrix().copy()
        m[:2, 2:] = 0
        self.set_transform(Affine2D(m))

        return Collection.draw(self, render)
Пример #2
0
    def draw(self, render):
        ax = self.axes
        ms = np.zeros((len(self._sizes), 3, 3))
        ms[:, 0, 0] = self._sizes
        ms[:, 1, 1] = self._sizes
        ms[:, 2, 2] = 1
        self._transforms = ms

        m = ax.transData.get_affine().get_matrix().copy()
        m[:2, 2:] = 0
        self.set_transform(Affine2D(m))

        return Collection.draw(self, render)
Пример #3
0
 def draw(self, renderer):
     return Collection.draw(self, renderer)
Пример #4
0
 def draw(self, renderer):
     return Collection.draw(self, renderer)
Пример #5
0
    def draw(self, renderer):
        v = None
        if isSupportedRenderer(renderer):
           self._sort_zpos = None
           renderer.use_gl = True
           glcanvas = get_glcanvas()
           if self.axes is not None:
               tag = self.axes
               trans = self.axes.transAxes
           elif self.figure is not None:
               tag = self.figure
               trans = self.figure.transFigure

           if glcanvas.has_vbo_data(self):
               d = glcanvas.get_vbo_data(self)
               if self._gl_cz:
                    cz = self._gl_facecolordata
               elif self._gl_cz is not None: cz = self._gl_cz
               else: cz = self._gl_3dpath[2]

               if len(d) > 0 and d[0] is not None:
                   if self._update_v:
                       d[0]['v'].need_update = True
                       self._gl_facecolor = self.to_rgba(cz)
                   if self._update_fc:
                       d[0]['fc'].need_update = True
                       self._gl_facecolor = self.to_rgba(cz)
                   if self._update_ec:
                       d[0]['ec'].need_update = True
                       self._gl_edgecolor = self.to_rgba(cz)
                   if self._update_i:
                       d[0]['i'].need_update = True
                   if self._update_a:
                       if 'vertex_id' in d[0] and d[0]['vertex_id'] is not None:
                           d[0]['vertex_id'].need_update = True
               else:
                   self._update_a = False
                   self._update_v = False
                   self._update_fc = False
                   self._update_ec = False
                   self._update_i = False                                      
               # this happens when all surfaces are hidden.
               # if (len(d)) == 0: print('vbo zero length', self.figobj)   
           if self._update_ec or self._update_fc:
               self.update_scalarmappable()

           gc = renderer.new_gc()               
           glcanvas.frame_request(self, trans)
#           renderer.do_stencil_test = self.do_stencil_test
           glcanvas.start_draw_request(self)

           if self._gl_3dpath is not None:
               if isinstance(self._gl_3dpath[4], list):
                   renderer.gl_draw_path_collection(
                          gc, None, self._gl_3dpath,
                          self.get_transforms(), self._gl_offset, None,
                          self._gl_facecolor, self._gl_edgecolor,
                          self._linewidths, self._linestyles,
                          self._antialiaseds, self._urls,
                          self._offset_position,
                          stencil_test = self.do_stencil_test,
                          view_offset = self._gl_voffset,
                          array_idx = self._gl_array_idx)

               else:
                    renderer.gl_draw_path_collection_e(
                        gc, None, self._gl_3dpath,
                        self.get_transforms(), self._gl_offset, None,
                        self._gl_facecolor, self._gl_edgecolor,
                        self._linewidths, self._linestyles,
                        self._antialiaseds, self._urls,
                        self._offset_position,
                        stencil_test = self.do_stencil_test,
                        view_offset = self._gl_voffset,
                        array_idx = self._gl_array_idx,
                        use_pointfill = self._gl_use_pointfill)

#           renderer.do_stencil_test = False
           glcanvas.end_draw_request()
           gc.restore()
           
           self._update_fc = False
           self._update_ec = False
           self._update_v = False
           self._update_i = False
           finish_gl_drawing(glcanvas, renderer, tag, trans)

           renderer.use_gl = False
        else:
           v =  Collection.draw(self, renderer)
        return v