def removeEverything(self): for task in self.taskMgr.getTasks(): if task.getName() not in ['dataLoop', 'igLoop']: task.remove() camera.reparentTo(render) for tex in render.findAllTextures(): tex.releaseAll() for tex in aspect2d.findAllTextures(): tex.releaseAll() for tex in render2d.findAllTextures(): tex.releaseAll() for tex in hidden.findAllTextures(): tex.releaseAll() for node in render.findAllMatches("**;+s"): node.removeNode() for node in aspect2d.findAllMatches("**;+s"): node.removeNode() for node in render2d.findAllMatches("**;+s"): node.removeNode() for node in hidden.findAllMatches("**;+s"): node.removeNode() TexturePool.garbageCollect() ModelPool.garbageCollect() RenderState.garbageCollect() RenderState.clearCache() RenderState.clearMungerCache() self.win.getGsg().getPreparedObjects().releaseAll() self.graphicsEngine.renderFrame()
def unload(self): self.ignoreCollisions() self.removeCollisions() self.removeObject() self.removeNode() ModelPool.garbageCollect() TexturePool.garbageCollect()
def unload(self): self.notify.info("unload()") if hasattr(self, 'loader'): self.loader.exit() self.loader.unload() del self.loader del self.parentFSM del self.fsm self.dnaStore.reset_nodes() self.dnaStore.reset_hood_nodes() self.dnaStore.reset_place_nodes() self.dnaStore.reset_hood() self.dnaStore.reset_fonts() self.dnaStore.reset_DNA_vis_groups() self.dnaStore.reset_textures() self.dnaStore.reset_block_numbers() self.dnaStore.reset_block_zones() self.dnaStore.reset_suit_points() del self.dnaStore self.deleteCurrentSky() self.stopSuitEffect(0) self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() StateData.unload(self)
def enterAvChoose(self, newToonSlot=None): ModelPool.garbageCollect() TexturePool.garbageCollect() self.avChooser.load() self.avChooser.enter(newToonSlot) if newToonSlot is None: self.playTheme() self.accept("enterMakeAToon", self.__handleMakeAToonReq) self.accept("avChooseDone", self.__handleAvChooseDone)
def temp_model(): from panda3d.core import ModelPool, ModelRoot root = ModelRoot('model') root.fullpath = '/test-model.bam' ModelPool.add_model(root.fullpath, root) yield root.fullpath ModelPool.release_model(root.fullpath)
def enterAvChoose(self): ModelPool.garbageCollect() TexturePool.garbageCollect() self.avChooser.load() self.avChooser.enter() if not self.music: self.music = base.loadMusic(CIGlobals.getThemeSong()) base.playMusic(self.music, volume=0.75, looping=1) self.accept('enterMakeAToon', self.__handleMakeAToonReq) self.accept('avChooseDone', self.__handleAvChooseDone)
def unload(self): Place.Place.unload(self) self.parentFSM.getStateNamed('cogdoInterior').removeChild(self.fsm) del self.parentFSM del self.fsm self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() self.townBattle.unload() self.townBattle.cleanup() del self.townBattle for i in xrange(1, 3): Suit.unloadSuits(i)
def unload(self): Place.Place.unload(self) self.parentFSM.getStateNamed('cogdoInterior').removeChild(self.fsm) del self.parentFSM del self.fsm self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() self.townBattle.unload() self.townBattle.cleanup() del self.townBattle for i in xrange(1, 3): Suit.unloadSuits(i)
def doSceneCleanup(): from panda3d.core import ModelPool, TexturePool, RenderState, RenderAttrib, TransformState, GeomCacheManager ModelPool.garbageCollect() TexturePool.garbageCollect() RenderState.clearMungerCache() RenderState.clearCache() RenderState.garbageCollect() RenderAttrib.garbageCollect() TransformState.clearCache() TransformState.garbageCollect() GeomCacheManager.getGlobalPtr().flush() base.graphicsEngine.renderFrame()
def setupPhysics(self): TestApplication.setupPhysics(self,False) # loading egg model egg_model = NodePath(ModelPool.loadModel(Filename(self.egg_file_path))) egg_model.reparentTo(self.world_node_) self.cam.setPos(self.world_node_,6.60001, -68, 14.4) # printing loaded egg model self.printModelTree(egg_model)
def test_loader_ram_cache(test_filename): """Tests that the Python loader plug-ins write to the RAM cache.""" # Ensure a clean slate. from panda3d.core import ModelPool ModelPool.release_all_models() with registered_type(DummyLoader): model1 = Loader.get_global_ptr().load_sync( test_filename, LoaderOptions(LoaderOptions.LF_no_disk_cache | LoaderOptions.LF_allow_instance)) assert model1 is not None assert model1.name == "loaded" assert ModelPool.has_model(test_filename) assert ModelPool.get_model(test_filename, True) == model1 model2 = Loader.get_global_ptr().load_sync( test_filename, LoaderOptions(LoaderOptions.LF_cache_only | LoaderOptions.LF_allow_instance)) assert model2 is not None assert model1 == model2 ModelPool.release_model(model2)
def unload(self): StateData.unload(self) if self.animatedFish: self.animatedFish.cleanup() self.animatedFish.removeNode() self.animatedFish = None self.parentFSMState.removeChild(self.fsm) del self.parentFSMState del self.animatedFish self.geom.removeNode() del self.geom del self.fsm del self.hood del self.playground del self.music del self.interiorMusic del self.battleMusic del self.bossBattleMusic del self.tournamentMusic self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() return
def exit(self): self.fsm.requestFinalState() self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() StateData.exit(self)
def _readEggFile_(file_path): # loading egg model model_root = ModelPool.loadModel(Filename(file_path)) return NodePath(model_root) if model_root is not None else None