Equalizer 1.0
|
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