int main(int argc, char **argv) { pthread_t thread1; /* Parse the command line arguments */ std::string *projectordata; Projector *projector; for (int i=1; i < argc; i++) { if (strstr(argv[i],"-p") != NULL) { projectordata = new std::string(argv[i+1]); projector = new Projector(*projectordata); projectors.push_back(projector); } } fprintf(stderr, "Done initializing projectors.\n"); /* Set things up and go */ glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); glutCreateWindow("Pre-Distorted Scene"); camera.aperture = aperture; camera.screenwidth = screenSize[0]; camera.screenheight = screenSize[1]; reshape(camera.screenwidth, camera.screenheight); glutReshapeWindow(camera.screenwidth,camera.screenheight); glutDisplayFunc(HandleDisplay); glutVisibilityFunc(HandleVisibility); glutKeyboardFunc(HandleKeyboard); glutSetCursor(GLUT_CURSOR_NONE); CreateEnvironment(); /* Load the edge blending image */ edgeBlending = SOIL_load_OGL_texture( "blending.png", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_INVERT_Y ); if(edgeBlending == 0) { fprintf(stderr, "ERROR : Failed to load texture %s.\n", "blending.png"); } glutFullScreen(); if( initExperiment(argc-1, argv+1) ) { /* Ready to go! */ glutMainLoop(); return(0); } else { fprintf(stderr, "Could not initialize experiment code."); return(-1); } }
ExperimentBox::ExperimentBox(const Glib::RefPtr < Gtk::Builder >& xml, Modeling* modeling) : mModeling(modeling), mXml(xml), mDialog(0) { xml->get_widget("DialogExperiment", mDialog); xml->get_widget("EntryAuthor", mEntryAuthor); xml->get_widget("EntryDate", mEntryDate); xml->get_widget("ButtonCalendar", mButtonCalendar); xml->get_widget("ButtonNow", mButtonNow); xml->get_widget("EntryVersion", mEntryVersion); xml->get_widget("EntryName", mEntryName); xml->get_widget("EntryDuration", mEntryDuration); xml->get_widget("EntryBeginReal", mEntryBeginReal); xml->get_widget("EntryBeginDate", mEntryBeginDate); xml->get_widget("ButtonCalendarBegin", mButtonCalendarBegin); xml->get_widget("SpinBeginH", mSpinBeginH); xml->get_widget("SpinBeginM", mSpinBeginM); xml->get_widget("SpinBeginS", mSpinBeginS); xml->get_widget("HBoxCombi", mHboxCombi); xml->get_widget("RadioButtonLinear", mRadioButtonLinear); xml->get_widget("RadioButtonTotal", mRadioButtonTotal); mBeginRealMin = utils::DateTime::toJulianDay("1400-01-01 00:00:00"); mBeginRealMax = utils::DateTime::toJulianDay("9999-12-31 23:59:59"); initExperiment(); mSigcConnection.push_back(mButtonCalendar->signal_clicked().connect( sigc::mem_fun(*this, &ExperimentBox::on_calendar))); mSigcConnection.push_back(mButtonNow->signal_clicked().connect( sigc::mem_fun(*this, &ExperimentBox::on_now))); mSigcConnection.push_back(mButtonCalendarBegin->signal_clicked().connect( sigc::mem_fun(*this, &ExperimentBox::on_calendarBegin))); mSigcConnection.push_back(mSpinBeginH->signal_value_changed().connect( sigc::mem_fun(*this, &ExperimentBox::on_time_changed))); mSigcConnection.push_back(mSpinBeginM->signal_value_changed().connect( sigc::mem_fun(*this, &ExperimentBox::on_time_changed))); mSigcConnection.push_back(mSpinBeginS->signal_value_changed().connect( sigc::mem_fun(*this, &ExperimentBox::on_time_changed))); mSigcConnection.push_back(mEntryBeginReal->signal_changed().connect( sigc::mem_fun(*this, &ExperimentBox::on_julianDate_changed))); mDialog->show_all(); }