BatchGUI.cpp

Go to the documentation of this file.
00001 /******************************************************************************
00002 *       SOFA, Simulation Open-Framework Architecture, version 1.0 beta 3      *
00003 *                (c) 2006-2008 MGH, INRIA, USTL, UJF, CNRS                    *
00004 *                                                                             *
00005 * This program is free software; you can redistribute it and/or modify it     *
00006 * under the terms of the GNU General Public License as published by the Free  *
00007 * Software Foundation; either version 2 of the License, or (at your option)   *
00008 * any later version.                                                          *
00009 *                                                                             *
00010 * This program is distributed in the hope that it will be useful, but WITHOUT *
00011 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       *
00012 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    *
00013 * more details.                                                               *
00014 *                                                                             *
00015 * You should have received a copy of the GNU General Public License along     *
00016 * with this program; if not, write to the Free Software Foundation, Inc., 51  *
00017 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.                   *
00018 *******************************************************************************
00019 *                            SOFA :: Applications                             *
00020 *                                                                             *
00021 * Authors: M. Adam, J. Allard, B. Andre, P-J. Bensoussan, S. Cotin, C. Duriez,*
00022 * H. Delingette, F. Falipou, F. Faure, S. Fonteneau, L. Heigeas, C. Mendoza,  *
00023 * M. Nesme, P. Neumann, J-P. de la Plata Alcade, F. Poyer and F. Roy          *
00024 *                                                                             *
00025 * Contact information: contact@sofa-framework.org                             *
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* /*name*/, const std::vector<std::string>& /*options*/)
00084 {
00085     return 0;
00086 }
00087 
00088 SofaGUI* BatchGUI::CreateGUI(const char* /*name*/, const std::vector<std::string>& /*options*/, sofa::simulation::Node* groot, const char* filename)
00089 {
00090     BatchGUI* gui = new BatchGUI();
00091     gui->setScene(groot, filename);
00092     return gui;
00093 }
00094 
00095 } // namespace gui
00096 
00097 } // namespace sofa

Generated on Sun Nov 23 02:28:35 2008 for Sofa by  doxygen 1.5.7.1