def _onRootChanged(self, isRoot): """Root changed event """ global prev_background global prev_back_visible BaseModeLogic._onRootChanged(self, isRoot) if isRoot: render_engine.setMode(render_engine.Mode_Perspective) self.prev_cam_pos = render_engine._ogreCameraNode.getPosition() self.prev_cam_dir = render_engine._ogreCameraNode.getOrientation() prev_background = render_engine._ogreViewport.getBackgroundColour() render_engine._ogreViewport.setBackgroundColour(ogre.ColourValue(0, 0, 0)) # space_panel.activate(self._getSheet().getChilds()) prev_back_visible = render_engine.SceneManager.isBackVisible() if prev_back_visible: render_engine.SceneManager.hideBack() else: render_engine.setMode(render_engine.Mode_Isometric) render_engine._ogreCameraNode.setPosition(self.prev_cam_pos) render_engine._ogreCameraNode.setOrientation(self.prev_cam_dir) render_engine._ogreViewport.setBackgroundColour(prev_background) # space_panel.deactivate() space_window.deactivate() if prev_back_visible: render_engine.SceneManager.showBack() self.is_root = isRoot
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRoot _sheet.eventContentUpdate = self._onContentUpdate # 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() self.file_addr = _cont_data _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)
def _setSheet(self, _sheet): """Sets sheet for a logic """ BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged _sheet.eventUpdate = self._onUpdate # getting data from content and save to temporary file import os import suit.core.sc_utils as sc_utils _addr = _sheet._getScAddr() if _addr is None: return kernel = Kernel.getSingleton() session = kernel.session() fmt = sc_utils.getContentFormat(session, _addr) assert fmt is not None file_name = "%s.%s" % (str(_addr.this), session.get_idtf(fmt).lower()) # saving data to file _cont = session.get_content_const(_addr) assert _cont is not None _cont_data = _cont.convertToCont() data = _cont.get_data(_cont_data.d.size) path = os.path.join(kernel.cache_path, 'video') out_file = os.path.join(path, file_name) file(out_file, "wb").write(data) ogre.ResourceGroupManager.getSingleton().initialiseResourceGroup( "video") self.setVideo(file_name)
def __init__(self): """Constructor """ BaseModeLogic.__init__(self) # view modes self._modes = {ois.KC_V: flash_modes.FlashDefaultViewMode(self)} self.switchMode(ois.KC_V) self.gui = render_engine._gui self.x, self.y = render_engine._ogreRenderWindow.getWidth( ), render_engine._ogreRenderWindow.getHeight() self.panel = False self.isRoot = False self.playing = False self.material = None self.swfFile = None self.mat_size = [1024, 1024] self.coord_mult = [1.0, 1.0] self.coord_offset = [0, 0] self.rectAttached = False self.listenersRegistered = False # creating rectangle (surface) self.rect_corners = [-1.0, 1.0, 1.0, -1.0] self.rect = None self._createRect()
def __init__(self): """Constructor """ BaseModeLogic.__init__(self) # view modes self._modes = {ois.KC_V: flash_modes.FlashDefaultViewMode(self)} self.switchMode(ois.KC_V) self.gui = render_engine._gui self.x, self.y = render_engine._ogreRenderWindow.getWidth(),render_engine._ogreRenderWindow.getHeight() self.panel = False self.isRoot = False self.playing = False self.material = None self.swfFile = None self.mat_size = [1024, 1024] self.coord_mult = [1.0, 1.0] self.coord_offset = [0, 0] self.rectAttached = False self.listenersRegistered = False # creating rectangle (surface) self.rect_corners = [-1.0, 1.0, 1.0, -1.0] self.rect = None self._createRect()
def __init__(self): """Constructor """ BaseModeLogic.__init__(self) #ogre.FrameListener.__init__(self) self.gui = render_engine._gui self.x, self.y = render_engine._ogreRenderWindow.getWidth( ), render_engine._ogreRenderWindow.getHeight() self.panel = False self.wpanel = None self.isRoot = False #self.kernel.ogreRoot.addFrameListener(self) # video player self.videoPlayer = None self.videoFile = "" self.materialName = None self.playing = False self.runTime = 0 self.needUpdateMaterial = True # attach flags # self.listenerRegistered = False self.rectAttached = False # creating rectangle (surface) self.rect = ogre.Rectangle2D(True) self.rect.setCorners(-1.0, 1.0, 1.0, -1.0) self.rect.setRenderQueueGroup(ogre.RENDER_QUEUE_8) self.rect.setBoundingBox( ogre.AxisAlignedBox(ogre.Vector3(-100000.0, -100000.0, -100000.0), ogre.Vector3(100000.0, 100000.0, 100000.0)))
def __init__(self): """Constructor """ BaseModeLogic.__init__(self) #ogre.FrameListener.__init__(self) self.gui = render_engine._gui self.x, self.y = render_engine._ogreRenderWindow.getWidth(), render_engine._ogreRenderWindow.getHeight() self.panel = False self.wpanel = None self.isRoot = False #self.kernel.ogreRoot.addFrameListener(self) # video player self.videoPlayer = None self.videoFile = "" self.materialName = None self.playing = False self.runTime = 0 self.needUpdateMaterial = True # attach flags # self.listenerRegistered = False self.rectAttached = False # creating rectangle (surface) self.rect = ogre.Rectangle2D(True) self.rect.setCorners(-1.0, 1.0, 1.0, -1.0) self.rect.setRenderQueueGroup(ogre.RENDER_QUEUE_8) self.rect.setBoundingBox(ogre.AxisAlignedBox(ogre.Vector3(-100000.0, -100000.0, -100000.0), ogre.Vector3(100000.0, 100000.0, 100000.0)))
def _onRootChanged(self, isRoot): """Root changed event """ global prev_background global prev_back_visible BaseModeLogic._onRootChanged(self, isRoot) if isRoot: render_engine.setMode(render_engine.Mode_Perspective) self.prev_cam_pos = render_engine._ogreCameraNode.getPosition() self.prev_cam_dir = render_engine._ogreCameraNode.getOrientation() prev_background = render_engine._ogreViewport.getBackgroundColour() render_engine._ogreViewport.setBackgroundColour( ogre.ColourValue(0, 0, 0)) # space_panel.activate(self._getSheet().getChilds()) prev_back_visible = render_engine.SceneManager.isBackVisible() if prev_back_visible: render_engine.SceneManager.hideBack() else: render_engine.setMode(render_engine.Mode_Isometric) render_engine._ogreCameraNode.setPosition(self.prev_cam_pos) render_engine._ogreCameraNode.setOrientation(self.prev_cam_dir) render_engine._ogreViewport.setBackgroundColour(prev_background) # space_panel.deactivate() space_window.deactivate() if prev_back_visible: render_engine.SceneManager.showBack() self.is_root = isRoot
def _setSheet(self, _sheet): """Sets sheet for a logic """ BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged _sheet.eventUpdate = self._onUpdate # getting data from content and save to temporary file import os import suit.core.sc_utils as sc_utils _addr = _sheet._getScAddr() if _addr is None: return kernel = Kernel.getSingleton() session = kernel.session() fmt = sc_utils.getContentFormat(session, _addr) assert fmt is not None file_name = "%s.%s" %(str(_addr.this), session.get_idtf(fmt).lower()) # saving data to file _cont = session.get_content_const(_addr) assert _cont is not None _cont_data = _cont.convertToCont() data = _cont.get_data(_cont_data.d.size) path = os.path.join(kernel.cache_path, 'video') out_file = os.path.join(path, file_name) file(out_file, "wb").write(data) ogre.ResourceGroupManager.getSingleton().initialiseResourceGroup("video") self.setVideo(file_name)
def __init__(self): BaseModeLogic.__init__(self) self._old_color_back = None import ogre.io.OIS as ois self.appendMode(ois.KC_V, chem_modes.ChemistryViewMode(self)) self.switchMode(ois.KC_V)
def _setSheet(self, _sheet): """Sets sheet that controls by this logic """ BaseModeLogic._setSheet(self, _sheet) _sheet.eventContentUpdate = self._onContentUpdate self.createTextureAndMaterialNames()
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged _sheet.eventUpdate = self._onUpdate _sheet.eventObjectUnderMouse = self._getObjectsUnderMouse _sheet.eventContentUpdate = self._onContentUpdate _sheet.eventHaveChild = self._haveChild
def __init__(self): BaseModeLogic.__init__(self) # view modes self._modes = {} self.mode = None self.is_root = False # flag for root mode, need to store there for grow speed up
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged _sheet.eventContentUpdate = self._onContentUpdate import suit.core.layout.LayoutGroupForceDirected as layout _sheet.setLayoutGroup(layout.LayoutGroupForceSimple())
def _setSheet(self, _sheet): # process event to viewer self._viewer._setSheet(_sheet) BaseModeLogic._setSheet(self, _sheet) #subscribe events _sheet.eventRootChanged = self._onRootChanged _sheet.eventUpdate = self._onUpdate
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRoot self._createFieldFromContent() self._createMaterial() self.rect.setMaterial(self.getMaterialName()) self._redraw()
def _setSheet(self, _sheet): """Notification on sheet changed @param _sheet: new sheet controlled by logic @type _sheet: objects.ObjectSheet """ self._viewer._setSheet(_sheet) BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged
def __del__(self): """Destructor """ self._destroyControl() if self.rectAttached: self.sceneNodeChilds.detachObject(self.rect) self.destroyPanel() BaseModeLogic.__del__(self)
def __init__(self): """Constructor """ BaseModeLogic.__init__(self) # addr of viewed set self.view_set_addr = None # view modes self.appendMode(ois.KC_V, scg_modes.SCgViewMode(self)) self.switchMode(ois.KC_V)
def _onRootChanged(self, _isRoot): """Root state changed event @param _isRoot: new root state @type _isRoot: bool """ BaseModeLogic._onRootChanged(self, _isRoot) if _isRoot: render_engine.SceneManager.setBackMaterial("Back/Lime") else: render_engine.SceneManager.setDefaultBackMaterial()
def __init__(self): """constructor """ BaseModeLogic.__init__(self) # view modes # self.appendMode(ois.KC_X, FlyMode(self)) # self._active_mode = self._modes[ois.KC_X] self.appendMode(ois.KC_S, SpaceViewMode(self)) self.switchMode(ois.KC_S) self.is_root = False
def delete(self): """Deletion message """ BaseModeLogic.delete(self) if self.sceneNodeRect is not None: render_engine.SceneManager.destroySceneNode(self.sceneNodeRect) if self.material is not None: self._destroyMaterial() if self.texture is not None: self._destroyTexture() self._destroyRect()
def __init__(self, _viewer = None): BaseModeLogic.__init__(self) if not _viewer: self._viewer = ChemistryViewer() else: raise RuntimeError("Chemistry editor doesn't support existing viewers for now") self.mergeModes(self._viewer) import ogre.io.OIS as ois self.appendMode(ois.KC_E, chem_modes.ChemistryEditMode(self)) self.switchMode(ois.KC_E)
def __init__(self): ''' Constructor ''' BaseModeLogic.__init__(self) # texture object self.texture = None self.imageName = None self.sceneNodeRect = render_engine.SceneManager.createSceneNode() self.rect = None self._createRect()
def __init__(self, _viewer=None): BaseModeLogic.__init__(self) if not _viewer: self._viewer = ChemistryViewer() else: raise RuntimeError( "Chemistry editor doesn't support existing viewers for now") self.mergeModes(self._viewer) import ogre.io.OIS as ois self.appendMode(ois.KC_E, chem_modes.ChemistryEditMode(self)) self.switchMode(ois.KC_E)
def __del__(self): """Destructor """ print "Deleted audio_viewer" self.stop() self.audioPlayer = None # detaching objects if self.rectAttached: self.sceneNode.detachObject(self.rect) # # removing listeners # if self.listenerRegistered: # ogre.Root.getSingleton().removeListener(self) self.destroyPanel() BaseModeLogic.__del__(self)
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged _sheet.eventUpdate = self._onUpdate # go to 3d mode #_sheet.changeMode(render_engine.Mode_Perspective) import suit.core.layout.LayoutGroupForceDirected as layout _sheet.setLayoutGroup(layout.LayoutGroupForceSimple(_gravity = 0.1, _repulsion = 3.5, _length = 2.0, _rigidity = 10.0, _step_max = 0.05, _step_min = 0.001))
def _onRootChanged(self, _isRoot): """Root mode changing """ import suit.core.render.engine as render_engine import ogre.renderer.OGRE as ogre if _isRoot: self._old_color_back = render_engine._ogreViewport.getBackgroundColour() clr = chem_env.color_back render_engine._ogreViewport.setBackgroundColour(ogre.ColourValue(clr[0], clr[1], clr[2], clr[3])) else: if self._old_color_back is not None: render_engine._ogreViewport.setBackgroundColour(self._old_color_back) BaseModeLogic._onRootChanged(self, _isRoot)
def __init__(self, _viewer = None): BaseModeLogic.__init__(self) # creating geometry viewer if need if _viewer is not None: self._viewer = _viewer sheet = self._viewer._getSheet() if sheet is None: raise RuntimeError("There is no sheet") else: self._viewer = geom_viewer.GeometryViewer() # merging viewer modes self.mergeModes(self._viewer) self.appendMode(ois.KC_E, geom_modes.GeometryEditMode(self)) self.switchMode(ois.KC_E)
def _setSheet(self, _sheet): BaseModeLogic._setSheet(self, _sheet) _sheet.eventRootChanged = self._onRootChanged _sheet.eventUpdate = self._onUpdate # go to 3d mode #_sheet.changeMode(render_engine.Mode_Perspective) import suit.core.layout.LayoutGroupForceDirected as layout _sheet.setLayoutGroup( layout.LayoutGroupForceSimple(_gravity=0.1, _repulsion=3.5, _length=2.0, _rigidity=10.0, _step_max=0.05, _step_min=0.001))
def __init__(self, viewer=None): """Constructor """ BaseModeLogic.__init__(self) # setting new logic for a sheet if viewer already exists if viewer is not None: self.__viewer = viewer sheet = self.__viewer._getSheet() if sheet is None: raise RuntimeError("There is no sheet") else: self.__viewer = SCgViewer() self.mergeModes(self.__viewer) self.appendMode(ois.KC_E, scg_modes.SCgEditMode(self)) self.switchMode(ois.KC_E)
def __init__(self, viewer = None): """Constructor """ BaseModeLogic.__init__(self) # setting new logic for a sheet if viewer already exists if viewer is not None: self.__viewer = viewer sheet = self.__viewer._getSheet() if sheet is None: raise RuntimeError("There is no sheet") else: self.__viewer = SCgViewer() self.mergeModes(self.__viewer) self.appendMode(ois.KC_E, scg_modes.SCgEditMode(self)) self.switchMode(ois.KC_E)
def _setSheet(self, _sheet): """Notification about sheet changed for logic @param _sheet: sheet object logic sets to @type _sheet: ObjectSheet @attention: this method only for internal usage and calls by ObhectSheet automatically when you set logic for it """ self.__viewer._setSheet(_sheet) BaseModeLogic._setSheet(self, _sheet) _sheet.eventUpdateView = self._onUpdateView _sheet.eventUpdate = self._onUpdate _sheet.eventRootChanged = self._onRootChanged _sheet.eventSelectionChanged = self._modes[ois.KC_E]._handlerSelChanged
def _onRootChanged(self, _isRoot): """Root mode changing """ import suit.core.render.engine as render_engine import ogre.renderer.OGRE as ogre if _isRoot: self._old_color_back = render_engine._ogreViewport.getBackgroundColour( ) clr = chem_env.color_back render_engine._ogreViewport.setBackgroundColour( ogre.ColourValue(clr[0], clr[1], clr[2], clr[3])) else: if self._old_color_back is not None: render_engine._ogreViewport.setBackgroundColour( self._old_color_back) BaseModeLogic._onRootChanged(self, _isRoot)
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 __init__(self): BaseModeLogic.__init__(self) self.sceneNodeRect = render_engine.SceneManager.createSceneNode() self.rect = None self._createRect() self.material = None self.texture = None self.origin = [0.5, 0.5] self.field = None self.drawer = None self.mapSurface = None self.layerData = [] self.zoomRectCorners = [[0, 0], [0, 0]] self.tex_size = (1024, 1024) self.appendMode(ois.KC_V, map_modes.MapViewMode(self)) self.switchMode(ois.KC_V)
def delete(self): """Deletion message """ BaseModeLogic.delete(self)
def __del__(self): BaseModeLogic.__del__(self)
def delete(self): """Deletion message """ BaseModeLogic.delete(self) if self.__viewer: self.__viewer.delete()
def __del__(self): """Destructor """ BaseModeLogic.__del__(self)