Example #1
0
    def render(self):
        if not self.data:
            return
        self.gui_lock.acquire()
        rect = self.get_rect()
        arr = (ctypes.c_double*3)(0, 0, 0)

        mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(self.objects), byref(self.vopt), mjCAT_ALL, 0, None, None, ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        mjlib.mjv_makeLights(self.model.ptr, self.data.ptr, byref(self.objects))

        mjlib.mjv_setCamera(self.model.ptr, self.data.ptr, byref(self.cam))

        mjlib.mjv_updateCameraPose(byref(self.cam), rect.width*1.0/rect.height)

        mjlib.mjr_render(0, rect, byref(self.objects), byref(self.ropt), byref(self.cam.pose), byref(self.con))

        self.gui_lock.release()
Example #2
0
    def render(self):
        rect = self.get_rect()
        arr = (ctypes.c_double * 3)(0, 0, 0)

        mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(self.objects),
                            byref(self.vopt), mjCAT_ALL, 0, None, None,
                            ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        mjlib.mjv_makeLights(self.model.ptr, self.data.ptr,
                             byref(self.objects))

        mjlib.mjv_setCamera(self.model.ptr, self.data.ptr, byref(self.cam))

        prev_pos = self.model.data.qpos
        prev_alpha = self.model.vis.map_.alpha

        self.model.vis.map_.alpha = 0.01
        #tmpobjects = mjcore.MJVOBJECTS()
        #mjlib.mjv_makeObjects(byref(tmpobjects), 1000)
        #for idx, frame in enumerate(self.frames):
        #    #print 'painting fixed'
        #    self.model.data.qpos = frame['pos']
        #    self.model.forward()
        #    #if idx == 0:
        #    #    mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(self.objects), byref(self.vopt), mjCAT_ALL, 0, None, None, ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        #    #else:
        #    mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(tmpobjects), byref(self.vopt), mjCAT_ALL, 0, None, None, ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        #    for i in range(tmpobjects.ngeom):
        #        alpha = frame['extra'].get('alpha', None)
        #        emission = frame['extra'].get('emission', None)
        #        #= frame['extra'].get('emission', None)
        #        geom = tmpobjects.geoms[i]
        #        if alpha is not None:
        #            geom.rgba[3] = alpha
        #        if emission is not None:
        #            geom.emission = emission
        #    mjextra.append_objects(self.objects, tmpobjects)

        self.model.vis.map_.alpha = prev_alpha
        self.model.data.qpos = prev_pos
        self.model.forward()
        mjlib.mjv_updateCameraPose(byref(self.cam),
                                   rect.width * 1.0 / rect.height)
        mjlib.mjr_render(0, rect, byref(self.objects), byref(self.ropt),
                         byref(self.cam.pose), byref(self.con))
Example #3
0
    def render(self):
        rect = self.get_rect()
        arr = (ctypes.c_double*3)(0, 0, 0)

        mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(self.objects), byref(self.vopt), mjCAT_ALL, 0, None, None, ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        mjlib.mjv_makeLights(self.model.ptr, self.data.ptr, byref(self.objects))

        mjlib.mjv_setCamera(self.model.ptr, self.data.ptr, byref(self.cam))

        prev_pos = self.model.data.qpos
        prev_alpha = self.model.vis.map_.alpha

        self.model.vis.map_.alpha = 0.01
        #tmpobjects = mjcore.MJVOBJECTS()
        #mjlib.mjv_makeObjects(byref(tmpobjects), 1000)
        #for idx, frame in enumerate(self.frames):
        #    #print 'painting fixed'
        #    self.model.data.qpos = frame['pos']
        #    self.model.forward()
        #    #if idx == 0:
        #    #    mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(self.objects), byref(self.vopt), mjCAT_ALL, 0, None, None, ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        #    #else:
        #    mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(tmpobjects), byref(self.vopt), mjCAT_ALL, 0, None, None, ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        #    for i in range(tmpobjects.ngeom):
        #        alpha = frame['extra'].get('alpha', None)
        #        emission = frame['extra'].get('emission', None)
        #        #= frame['extra'].get('emission', None)
        #        geom = tmpobjects.geoms[i]
        #        if alpha is not None:
        #            geom.rgba[3] = alpha
        #        if emission is not None:
        #            geom.emission = emission
        #    mjextra.append_objects(self.objects, tmpobjects)

        self.model.vis.map_.alpha = prev_alpha
        self.model.data.qpos = prev_pos
        self.model.forward()
        mjlib.mjv_updateCameraPose(byref(self.cam), rect.width*1.0/rect.height)
        mjlib.mjr_render(0, rect, byref(self.objects), byref(self.ropt), byref(self.cam.pose), byref(self.con))
Example #4
0
    def render(self):
        if not self.data:
            return
        self.gui_lock.acquire()
        rect = self.get_rect()
        arr = (ctypes.c_double * 3)(0, 0, 0)

        mjlib.mjv_makeGeoms(self.model.ptr, self.data.ptr, byref(self.objects),
                            byref(self.vopt), mjCAT_ALL, 0, None, None,
                            ctypes.cast(arr, ctypes.POINTER(ctypes.c_double)))
        mjlib.mjv_makeLights(self.model.ptr, self.data.ptr,
                             byref(self.objects))

        mjlib.mjv_setCamera(self.model.ptr, self.data.ptr, byref(self.cam))

        mjlib.mjv_updateCameraPose(byref(self.cam),
                                   rect.width * 1.0 / rect.height)

        mjlib.mjr_render(0, rect, byref(self.objects), byref(self.ropt),
                         byref(self.cam.pose), byref(self.con))

        self.gui_lock.release()