Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

IOInstances.hh

00001 /*===========================================================================*\
00002  *                                                                           *
00003  *                               OpenMesh                                    *
00004  *      Copyright (C) 2001-2005 by Computer Graphics Group, RWTH Aachen      *
00005  *                           www.openmesh.org                                *
00006  *                                                                           *
00007  *---------------------------------------------------------------------------* 
00008  *                                                                           *
00009  *                                License                                    *
00010  *                                                                           *
00011  *  This library is free software; you can redistribute it and/or modify it  *
00012  *  under the terms of the GNU Library General Public License as published   *
00013  *  by the Free Software Foundation, version 2.                              *
00014  *                                                                           *
00015  *  This library is distributed in the hope that it will be useful, but      *
00016  *  WITHOUT ANY WARRANTY; without even the implied warranty of               *
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        *
00018  *  Library General Public License for more details.                         *
00019  *                                                                           *
00020  *  You should have received a copy of the GNU Library General Public        *
00021  *  License along with this library; if not, write to the Free Software      *
00022  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                *
00023  *                                                                           *
00024 \*===========================================================================*/
00025 
00026 
00027 //=============================================================================
00028 //
00029 //  Helper file for static builds
00030 //
00031 //  In opposite to dynamic builds where the instance of every reader module
00032 //  is generated within the OpenMesh library, static builds only instanciate
00033 //  objects that are at least referenced once. As all reader modules are
00034 //  never used directly, they will not be part of a static build, hence 
00035 //  this file.
00036 //
00037 //=============================================================================
00038 
00039 
00040 #ifndef __IOINSTANCES_HH__
00041 #define __IOINSTANCES_HH__
00042 
00043 #if defined(OM_STATIC_BUILD) || defined(ARCH_DARWIN)
00044 
00045 //=============================================================================
00046 
00047 #include <OpenMesh/Core/System/config.hh>
00048 
00049 #include <OpenMesh/Core/IO/reader/BaseReader.hh>
00050 #include <OpenMesh/Core/IO/reader/OBJReader.hh>
00051 #include <OpenMesh/Core/IO/reader/OFFReader.hh>
00052 #include <OpenMesh/Core/IO/reader/STLReader.hh>
00053 #include <OpenMesh/Core/IO/reader/OMReader.hh>
00054 
00055 #include <OpenMesh/Core/IO/writer/BaseWriter.hh>
00056 #include <OpenMesh/Core/IO/writer/OBJWriter.hh>
00057 #include <OpenMesh/Core/IO/writer/OFFWriter.hh>
00058 #include <OpenMesh/Core/IO/writer/STLWriter.hh>
00059 #include <OpenMesh/Core/IO/writer/OMWriter.hh>
00060 
00061 
00062 //=== NAMESPACES ==============================================================
00063 
00064 namespace OpenMesh {
00065 namespace IO {
00066 
00067 //=============================================================================
00068 
00069 
00070 // Instanciate every Reader module 
00071 static BaseReader* OFFReaderInstance = &OFFReader();
00072 static BaseReader* OBJReaderInstance = &OBJReader();
00073 static BaseReader* STLReaderInstance = &STLReader();
00074 static BaseReader* OMReaderInstance  = &OMReader();
00075 
00076 // Instanciate every writer module
00077 static BaseWriter* OBJWriterInstance = &OBJWriter();
00078 static BaseWriter* OFFWriterInstance = &OFFWriter();
00079 static BaseWriter* STLWriterInstance = &STLWriter();
00080 static BaseWriter* OMWriterInstance  = &OMWriter();
00081 
00082 
00083 //=============================================================================
00084 } // namespace IO
00085 } // namespace OpenMesh
00086 //=============================================================================
00087 #endif // static ?
00088 #endif //__IOINSTANCES_HH__
00089 //=============================================================================

acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .