bool reloadShaders(std_srvs::Empty::Request&, std_srvs::Empty::Response&) { ROS_INFO("Reloading materials."); { Ogre::ResourceManager::ResourceMapIterator it = Ogre::MaterialManager::getSingleton().getResourceIterator(); while (it.hasMoreElements()) { Ogre::ResourcePtr resource = it.getNext(); resource->reload(); } } ROS_INFO("Reloading high-level gpu shaders."); { Ogre::ResourceManager::ResourceMapIterator it = Ogre::HighLevelGpuProgramManager::getSingleton().getResourceIterator(); while (it.hasMoreElements()) { Ogre::ResourcePtr resource = it.getNext(); resource->reload(); } } ROS_INFO("Reloading gpu shaders."); { Ogre::ResourceManager::ResourceMapIterator it = Ogre::GpuProgramManager::getSingleton().getResourceIterator(); while (it.hasMoreElements()) { Ogre::ResourcePtr resource = it.getNext(); resource->reload(); } } return true; }
void GUIManager::runCommand(const std::string &command, const std::string &args) { if (command == ToggleInputMode.getCommand()) { getInput().toggleInputMode(); } else if (command == ToggleGui.getCommand()) { S_LOG_VERBOSE("Toggle Gui Initiated -- " << getInput().getInputMode()); if (mEnabled) { S_LOG_INFO("Disabling GUI"); mEnabled = false; getInput().removeAdapter(mCEGUIAdapter); } else { S_LOG_INFO("Enabling GUI"); mEnabled = true; getInput().addAdapter(mCEGUIAdapter); } } else if (command == ReloadGui.getCommand()) { Ogre::TextureManager* texMgr = Ogre::TextureManager::getSingletonPtr(); Ogre::ResourcePtr resource = texMgr->getByName("cegui/" + getDefaultScheme() + ".png"); if (!resource.isNull()) { resource->reload(); } } }
void ResourceManager::reloadResource(Ogre::ResourceManager* resMgr, const std::string& resourceName, const std::string& resourceGroup) { Ogre::ResourcePtr rPtr = resMgr->load(resourceName, resourceGroup); if (rPtr.isNull()) LOG_META(FORMAT("The resource '%1%' no longer exists!", resourceName)); rPtr->reload(); if (rPtr->isLoaded()) LOG_META(FORMAT("The resource '%1%' wasn`t unloaded!", resourceName)); else LOG_META(FORMAT("The resource '%1%' was unloaded!", resourceName)); }
void LoadResource(Ogre::ResourceManager* resMgr, const std::string& resourceName, const std::string& resourceGroup) { Ogre::ResourcePtr rPtr = resMgr->load(resourceName, resourceGroup); if (rPtr.isNull()) { StringUtil::StrStreamType msg; msg << "Resource no longer exists: " << resourceName; Ogre::LogManager::getSingleton().logMessage(msg.str()); return; } rPtr->reload(); if (rPtr->isLoaded()) { StringUtil::StrStreamType msg; msg << "Resource was reloaded: " << resourceName; Ogre::LogManager::getSingleton().logMessage(msg.str()); } else { StringUtil::StrStreamType msg; msg << "Resource was not reloaded: " << resourceName; Ogre::LogManager::getSingleton().logMessage(msg.str()); } if (resMgr->resourceExists(resourceName)) { StringUtil::StrStreamType msg; msg << "Resource still exists: " << resourceName; Ogre::LogManager::getSingleton().logMessage(msg.str()); } else { StringUtil::StrStreamType msg; msg << "Resource no longer exists: " << resourceName; Ogre::LogManager::getSingleton().logMessage(msg.str()); } }