00001 /*------------------------------------------------------------------------- 00002 This source file is a part of OGRE 00003 (Object-oriented Graphics Rendering Engine) 00004 00005 For the latest info, see http://ogre.sourceforge.net/ 00006 00007 Copyright © 2000-2002 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This library is free software; you can redistribute it and/or modify it 00011 under the terms of the GNU Lesser General Public License (LGPL) as 00012 published by the Free Software Foundation; either version 2.1 of the 00013 License, or (at your option) any later version. 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 MERCHANTABILITY 00017 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 00018 License for more details. 00019 00020 You should have received a copy of the GNU Lesser General Public License 00021 along with this library; if not, write to the Free Software Foundation, 00022 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or go to 00023 http://www.gnu.org/copyleft/lesser.txt 00024 -------------------------------------------------------------------------*/ 00025 #ifndef __Prerequisites_H__ 00026 #define __Prerequisites_H__ 00027 00028 // Platform-specific stuff 00029 #include "OgrePlatform.h" 00030 00031 #if OGRE_COMPILER == COMPILER_MSVC 00032 // Turn off warnings generated by long std templates 00033 // This warns about truncation to 255 characters in debug/browse info 00034 # pragma warning (disable : 4786) 00035 00036 // disable: "conversion from 'double' to 'float', possible loss of data 00037 # pragma warning (disable : 4244) 00038 00039 // disable: "truncation from 'double' to 'float' 00040 # pragma warning (disable : 4305) 00041 00042 // disable: "<type> needs to have dll-interface to be used by clients' 00043 // Happens on STL member variables which are not public therefore is ok 00044 # pragma warning (disable : 4251) 00045 00046 // disable: "non dll-interface class used as base for dll-interface class" 00047 // Happens when deriving from Singleton because bug in compiler ignores 00048 // template export 00049 # pragma warning (disable : 4275) 00050 00051 // disable: "C++ Exception Specification ignored" 00052 // This is because MSVC 6 did not implement all the C++ exception 00053 // specifications in the ANSI C++ draft. 00054 # pragma warning( disable : 4290 ) 00055 00056 // disable: "no suitable definition provided for explicit template 00057 // instantiation request" Occurs in VC7 for no justifiable reason on all 00058 // #includes of Singleton 00059 # pragma warning( disable: 4661) 00060 #endif 00061 00062 /* Include all the standard header *after* all the configuration 00063 settings have been made. 00064 */ 00065 #include "OgreStdHeaders.h" 00066 00067 00068 #include "OgreMemoryManager.h" 00069 00070 // define the real number values to be used 00071 // default to use 'float' unless precompiler option set 00072 namespace Ogre { 00073 00074 #if OGRE_DOUBLE_PRECISION == 1 00075 typedef double Real; 00076 #else 00077 typedef float Real; 00078 #endif 00079 00080 // define the Char type as either char or wchar_t 00081 #if OGRE_WCHAR_T_STRINGS == 1 00082 # define OgreChar wchar_t 00083 # define _TO_CHAR( x ) L##x 00084 #else 00085 # define OgreChar char 00086 # define _TO_CHAR( x ) x 00087 #endif 00088 00089 #ifdef GCC_3_1 00090 # define HashMap ::__gnu_cxx::hash_map 00091 #else 00092 # define HashMap ::std::hash_map 00093 #endif 00094 00097 typedef unsigned char uchar; 00098 typedef unsigned short ushort; 00099 typedef unsigned int uint; 00100 typedef unsigned long ulong; 00101 00102 // Pre-declare classes 00103 // Allows use of pointers in header files without including individual .h 00104 // so decreases dependencies between files 00105 class ActionEvent; 00106 class ActionListener; 00107 class ActionTarget; 00108 class Animation; 00109 class AnimationTrack; 00110 class AnimationState; 00111 class ArchiveEx; 00112 class ArchiveManager; 00113 class ArchiveFactory; 00114 class AxisAlignedBox; 00115 class Billboard; 00116 class BillboardSet; 00117 class Bone; 00118 class Camera; 00119 class Codec; 00120 class ColourValue; 00121 class ControllerManager; 00122 class Controller; 00123 class Cursor; 00124 class DataChunk; 00125 class DynLib; 00126 class DynLibManager; 00127 class Entity; 00128 class EventDispatcher; 00129 class EventMulticaster; 00130 class EventProcessor; 00131 class EventQueue; 00132 class EventTarget; 00133 class Factory; 00134 class Font; 00135 class FontManager; 00136 class FrameListener; 00137 class GuiElement; 00138 class GuiElementFactory; 00139 class GuiContainer; 00140 class GuiManager; 00141 class InputEvent; 00142 class InputReader; 00143 class KeyFrame; 00144 class Light; 00145 class ListSelectionEvent; 00146 class ListSelectionListener; 00147 class ListSelectionTarget; 00148 class LogManager; 00149 class Material; 00150 class MaterialManager; 00151 class Math; 00152 class Matrix3; 00153 class Matrix4; 00154 class MemoryManager; 00155 class Mesh; 00156 class MeshManager; 00157 class MovableObject; 00158 class MouseEvent; 00159 class MouseListener; 00160 class MouseMotionListener; 00161 class Node; 00162 class Overlay; 00163 class OverlayManager; 00164 class Particle; 00165 class ParticleAffector; 00166 class ParticleAffectorFactory; 00167 class ParticleEmitter; 00168 class ParticleEmitterFactory; 00169 class ParticleSystem; 00170 class ParticleSystemManager; 00171 class Plane; 00172 class PositionTarget; 00173 class Quaternion; 00174 class Renderable; 00175 class RenderPriorityGroup; 00176 class RenderQueue; 00177 class RenderQueueGroup; 00178 class RenderQueueListener; 00179 class RenderSystem; 00180 class RenderTarget; 00181 class RenderTargetListener; 00182 class RenderWindow; 00183 class Resource; 00184 class ResourceManager; 00185 class SceneManager; 00186 class SceneManagerEnumerator; 00187 class SceneNode; 00188 class SDDataChunk; 00189 class SimpleRenderable; 00190 class Skeleton; 00191 class SkeletonManager; 00192 class Sphere; 00193 class String; 00194 class StringInterface; 00195 class SubEntity; 00196 class SubMesh; 00197 class TargetManager; 00198 class TextureFont; 00199 class UserDefinedObject; 00200 class Vector3; 00201 class Viewport; 00202 class WireBoundingBox; 00203 00204 struct GeometryData; 00205 } 00206 00207 #endif // __OgrePrerequisites_H__ 00208
Copyright © 2002 by The OGRE Team