BatchGUI.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include "BatchGUI.h"
00028 #include <sofa/simulation/tree/Simulation.h>
00029
00030 namespace sofa
00031 {
00032
00033 namespace gui
00034 {
00035
00036 BatchGUI::BatchGUI()
00037 : groot(NULL), nbIter(1000)
00038 {
00039 }
00040
00041 BatchGUI::~BatchGUI()
00042 {
00043 }
00044
00045 int BatchGUI::mainLoop()
00046 {
00047 if (groot)
00048 {
00049 std::cout << "Computing "<<nbIter<<" iterations." << std::endl;
00050 for (int i=0;i<nbIter;i++)
00051 {
00052 sofa::simulation::tree::getSimulation()->animate(groot);
00053 }
00054 std::cout <<nbIter<<" iterations done." << std::endl;
00055 }
00056 return 0;
00057 }
00058
00059 void BatchGUI::redraw()
00060 {
00061 }
00062
00063 int BatchGUI::closeGUI()
00064 {
00065 delete this;
00066 return 0;
00067 }
00068
00069 void BatchGUI::setScene(sofa::simulation::Node* groot, const char* filename)
00070 {
00071 this->groot = groot;
00072 this->filename = (filename?filename:"");
00073 }
00074
00075 sofa::simulation::Node* BatchGUI::currentSimulation()
00076 {
00077 return groot;
00078 }
00079
00080 SOFA_DECL_CLASS(BatchGUI)
00081
00082 int BatchGUIClass = SofaGUI::RegisterGUI("batch", &BatchGUI::CreateGUI, &BatchGUI::InitGUI, -1);
00083 int BatchGUI::InitGUI(const char* , const std::vector<std::string>& )
00084 {
00085 return 0;
00086 }
00087
00088 SofaGUI* BatchGUI::CreateGUI(const char* , const std::vector<std::string>& , sofa::simulation::Node* groot, const char* filename)
00089 {
00090 BatchGUI* gui = new BatchGUI();
00091 gui->setScene(groot, filename);
00092 return gui;
00093 }
00094
00095 }
00096
00097 }