コード例 #1
0
ファイル: batch_mode.py プロジェクト: ComSciCtr/vroom
 def for_each(self, points):
    for pos in points:
       glPushMatrix()
       translate(pos)
       self.func(*self.args, **self.kwargs)
       glPopMatrix()
    self._triggered = True
コード例 #2
0
ファイル: buffers.py プロジェクト: ComSciCtr/vroom
   def draw(self, **kwargs):
      style = kwargs.get('style', 'wireframe')

      glPushAttrib(GL_POLYGON_BIT)
      if style == 'wireframe':
         glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)

      self._pre_draw()

      pushMatrix()
      translate(self.origin)

      for ibo, mode in self._index_buffers:
         ibo.bind()
         glDrawElements(mode, len(ibo), GL_UNSIGNED_INT, None)
         ibo.unbind()

      popMatrix()

      self._post_draw()

      glPopAttrib()
コード例 #3
0
ファイル: buffers.py プロジェクト: ComSciCtr/vroom
   def draw(self, **kwargs):
      style = kwargs.get('style', 'wireframe')

      glPushAttrib(GL_POLYGON_BIT)
      if style == 'wireframe':
         glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)

      self._pre_draw()

      pushMatrix()
      translate(self.origin)

      if self._index_buffer:
         glDrawElements(self._render_mode, len(self._index_buffer), GL_UNSIGNED_INT, None)
      else:
         glDrawArrays(self._render_mode, 0, self._num_vertices)

      popMatrix()

      self._post_draw()

      glPopAttrib()
コード例 #4
0
ファイル: batch_mode.py プロジェクト: ComSciCtr/vroom
 def at(self, point):
    glPushMatrix()
    translate(point)
    self.func(*self.args, **self.kwargs)
    glPopMatrix()
    self._triggered = True
コード例 #5
0
ファイル: batch_mode.py プロジェクト: ComSciCtr/vroom
 def for_each(self, callback, *args, **kwargs):
    for point in self:
       glPushMatrix()
       translate(point)
       callback(*args, **kwargs)
       glPopMatrix()
コード例 #6
0
ファイル: batch_mode.py プロジェクト: ComSciCtr/vroom
 def __call__(self, points, *args, **kwargs):
    for p in points:
       glPushMatrix()
       translate(p)
       self._callback(*args, **kwargs)
       glPopMatrix()