def _readFromScreenshotPictureToTexture(self): f = open(self.textureName, 'rb') data = f.read() f.close() stream = ogre.MemoryDataStream("%s" % str(self), len(data), False) stream.setData(data) img = ogre.Image() img.load(stream, ogre.Image.getFileExtFromMagic(stream)) txtrMngr = ogre.TextureManager.getSingleton() screenshot = txtrMngr.loadImage(self.textureName, env.resource_group, img) self.texture.getBuffer().blit(screenshot.getBuffer()) txtrMngr.remove(screenshot) screenshot.unload()
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRoot # trying to get data for showing import suit.core.sc_utils as sc_utils session = core.Kernel.session() _addr = _sheet._getScAddr() _fmt = sc_utils.getContentFormat(session, _addr) assert _fmt is not None _cont = session.get_content_const(_addr) assert _cont is not None _cont_data = _cont.convertToCont() _type = session.get_idtf(_fmt).lower() global count count += 1 # import os, pm.pm # self.imageName = os.path.join(env.res_tmp_dir, "%s.jpg" % str(_addr.this)) # pm.pm.saveContentToFile(self.imageName + "%d.jpg" % count, _cont) # file(self.imageName + "_", "wb").write(_cont.get_data(_cont_data.d.size)) data = _cont.get_data(_cont_data.d.size) stream = ogre.MemoryDataStream("%s" % str(self), _cont_data.d.size, False) stream.setData(data) # try: img = ogre.Image() img.load(stream, ogre.Image.getFileExtFromMagic(stream)) self._createTexture(img) self._createMaterial() self._resizeRect() except: import sys, traceback print "Error:", sys.exc_info()[0] traceback.print_exc(file=sys.stdout)
def getFormatIcon(self, _format): """Return icon associated with specified format @param _format: sc-node that designate format @type _format: sc_addr @return: Name of texture that contains icon associated to _format, if there are no any icons, then return None """ import suit.core.sc_utils as sc_utils import sc_core.constants as sc_constants import sc_core.pm as sc import ogre.renderer.OGRE as ogre session = core.Kernel.session() icon = None idtf_set = sc_utils.searchOneShotBinPairAttrToNode( session, _format, keynodes.common.nrel_identification, sc.SC_CONST) if idtf_set is not None: it1 = session.create_iterator( session.sc_constraint_new(sc_constants.CONSTR_3_f_a_a, idtf_set, sc.SC_A_CONST, sc.SC_N_CONST), True) while not it1.is_over(): if sc_utils.checkIncToSets(session, it1.value(2), [keynodes.common.group_image], sc.SC_CONST): icon = it1.value(2) break it1.next() if icon is None: return None _fmt = sc_utils.getContentFormat(session, icon) assert _fmt is not None _cont = session.get_content_const(icon) assert _cont is not None _cont_data = _cont.convertToCont() data = _cont.get_data(_cont_data.d.size) stream = ogre.MemoryDataStream("%s" % str(self), _cont_data.d.size, False) stream.setData(data) try: img = ogre.Image() img.load(stream, ogre.Image.getFileExtFromMagic(stream)) except: import sys, traceback print "Error:", sys.exc_info()[0] traceback.print_exc(file=sys.stdout) icon_name = "icon_%s" % str(_format) ogre.TextureManager.getSingleton().loadImage( icon_name, "General", img) return icon_name return None