Example #1
0
/// 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;
}
Example #2
0
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") {
Example #3
0
/// 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;

}