Equalizer 1.0

eq/global.h

00001 
00002 /* Copyright (c) 2005-2010, Stefan Eilemann <eile@equalizergraphics.com> 
00003  *                    2010, Cedric Stalder <cedric.stalder@gmail.com>
00004  *
00005  * This library is free software; you can redistribute it and/or modify it under
00006  * the terms of the GNU Lesser General Public License version 2.1 as published
00007  * by the Free Software Foundation.
00008  *  
00009  * This library is distributed in the hope that it will be useful, but WITHOUT
00010  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00011  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
00012  * details.
00013  * 
00014  * You should have received a copy of the GNU Lesser General Public License
00015  * along with this library; if not, write to the Free Software Foundation, Inc.,
00016  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00017  */
00018 
00019 #ifndef EQ_GLOBAL_H
00020 #define EQ_GLOBAL_H
00021 
00022 #include <eq/init.h>       // friend
00023 #include <eq/types.h>
00024 
00025 #include <eq/fabric/global.h>     // base class
00026 #include <eq/fabric/iAttribute.h> // enum definition
00027 
00028 #include <eq/api.h>
00029 
00030 namespace eq
00031 {
00032     class NodeFactory;
00033 
00034 #ifdef EQ_USE_DEPRECATED
00035     typedef fabric::IAttribute IAttrValue;
00036 #endif
00037     using fabric::UNDEFINED;
00038     using fabric::RGBA32F;
00039     using fabric::RGBA16F;
00040     using fabric::FBO;
00041     using fabric::LOCAL_SYNC;
00042     using fabric::DRAW_SYNC;
00043     using fabric::ASYNC;
00044     using fabric::PBUFFER;
00045     using fabric::WINDOW;
00046     using fabric::VERTICAL;
00047     using fabric::QUAD;
00048     using fabric::ANAGLYPH;
00049     using fabric::NICEST;
00050     using fabric::AUTO;
00051     using fabric::OFF;
00052     using fabric::ON;
00053     using fabric::FASTEST;
00054     using fabric::HORIZONTAL;
00055 
00057     class Global : public fabric::Global
00058     {
00059     public:
00061         static NodeFactory* getNodeFactory() { return _nodeFactory; }
00062 
00073         EQ_API static void setConfigFile( const std::string& configFile );
00074 
00076         EQ_API static const std::string& getConfigFile();
00077 
00084         static void enterCarbon();
00085 
00087         static void leaveCarbon();
00088 
00089     private:
00090         EQ_API friend bool eq::init( const int argc, char** argv,
00091                                      NodeFactory* nodeFactory );
00092         EQ_API friend bool eq::exit();
00093 
00094         static NodeFactory* _nodeFactory;
00095         static std::string  _configFile;
00096     };
00097 }
00098 
00099 #endif // EQ_GLOBAL_H
00100 
Generated on Sun May 8 2011 19:11:06 for Equalizer 1.0 by  doxygen 1.7.3