/// Load a scene from a file Node::SPtr Simulation::load ( const char *filename ) { if( sofa::helper::system::SetDirectory::GetFileName(filename).empty() || // no filename sofa::helper::system::SetDirectory::GetExtension(filename).empty() ) // filename with no extension return NULL; SceneLoader *loader = SceneLoaderFactory::getInstance()->getEntryFileName(filename); if (loader) return loader->load(filename); // unable to load file serr << "extension ("<<sofa::helper::system::SetDirectory::GetExtension(filename)<<") not handled" << sendl; return NULL; }
void NetworkRenderer::run() { while(!serv.is_connected() && serv.get_failed_connections()<MAX_FAILED_CONNECTIONS) { Logger::log()<<"Waiting for server"<<std::endl; sleep(1); } if(!serv.is_connected()) { Logger::log()<<"Connection timeout. Closing client"<<std::endl; serv.stop(); return; } string login_string="LOGIN "; char ptr[40]=""; gethostname(ptr,40); login_string.append(ptr); serv.send_message(login_string); SceneLoader sceneLoader; Scene *scene; int global_width,global_height; Renderer renderer(scene,NULL); int numOfCPUs = sysconf(_SC_NPROCESSORS_ONLN); while(serv.is_connected()) { if(!serv.has_messages()) { serv.wait_for_message(); } string mes = ""; if(serv.has_messages()) { mes=serv.unstack_message(); } stringstream mes_ss(stringstream::in | stringstream::out); mes_ss<<mes; string head; mes_ss>>head; /*message parsing*/ if(head=="SETSCENE") { string filexml; mes_ss>>filexml; Logger::log(LOG_INFO)<<"Set scene file: <"<<filexml<<">"<<std::endl; sceneLoader.load(filexml,&scene,global_width,global_height); renderer.set_scene(scene); } else if(head=="CALCULATE") {
/// Load a scene Node::SPtr Simulation::load ( const char *filename ) { SceneLoader *loader = SceneLoaderFactory::getInstance()->getEntryFileName(filename); if (loader) { sRoot = loader->load(filename); return sRoot; } // unable to load file std::cerr << "Simulation : Error : extension not handled" << std::endl; return NULL; }