|
IrrlichtEngine
|
00001 /* irrlicht.h -- interface of the 'Irrlicht Engine' 00002 00003 Copyright (C) 2002-2011 Nikolaus Gebhardt 00004 00005 This software is provided 'as-is', without any express or implied 00006 warranty. In no event will the authors be held liable for any damages 00007 arising from the use of this software. 00008 00009 Permission is granted to anyone to use this software for any purpose, 00010 including commercial applications, and to alter it and redistribute it 00011 freely, subject to the following restrictions: 00012 00013 1. The origin of this software must not be misrepresented; you must not 00014 claim that you wrote the original software. If you use this software 00015 in a product, an acknowledgment in the product documentation would be 00016 appreciated but is not required. 00017 2. Altered source versions must be plainly marked as such, and must not be 00018 misrepresented as being the original software. 00019 3. This notice may not be removed or altered from any source distribution. 00020 00021 Please note that the Irrlicht Engine is based in part on the work of the 00022 Independent JPEG Group, the zlib and the libPng. This means that if you use 00023 the Irrlicht Engine in your product, you must acknowledge somewhere in your 00024 documentation that you've used the IJG code. It would also be nice to mention 00025 that you use the Irrlicht Engine, the zlib and libPng. See the README files 00026 in the jpeglib, the zlib and libPng for further informations. 00027 */ 00028 00029 #ifndef __IRRLICHT_H_INCLUDED__ 00030 #define __IRRLICHT_H_INCLUDED__ 00031 00032 #include "IrrCompileConfig.h" 00033 #include "aabbox3d.h" 00034 #include "CDynamicMeshBuffer.h" 00035 #include "CIndexBuffer.h" 00036 #include "CMeshBuffer.h" 00037 #include "coreutil.h" 00038 #include "CVertexBuffer.h" 00039 #include "dimension2d.h" 00040 #include "ECullingTypes.h" 00041 #include "EDebugSceneTypes.h" 00042 #include "EDriverFeatures.h" 00043 #include "EDriverTypes.h" 00044 #include "EGUIAlignment.h" 00045 #include "EGUIElementTypes.h" 00046 #include "EHardwareBufferFlags.h" 00047 #include "EMaterialFlags.h" 00048 #include "EMaterialTypes.h" 00049 #include "EMeshWriterEnums.h" 00050 #include "EMessageBoxFlags.h" 00051 #include "ESceneNodeAnimatorTypes.h" 00052 #include "ESceneNodeTypes.h" 00053 #include "ETerrainElements.h" 00054 #include "fast_atof.h" 00055 #include "heapsort.h" 00056 #include "IAnimatedMesh.h" 00057 #include "IAnimatedMeshMD2.h" 00058 #include "IAnimatedMeshMD3.h" 00059 #include "IAnimatedMeshSceneNode.h" 00060 #include "IAttributeExchangingObject.h" 00061 #include "IAttributes.h" 00062 #include "IBillboardSceneNode.h" 00063 #include "IBillboardTextSceneNode.h" 00064 #include "IBoneSceneNode.h" 00065 #include "ICameraSceneNode.h" 00066 #include "ICursorControl.h" 00067 #include "IDummyTransformationSceneNode.h" 00068 #include "IDynamicMeshBuffer.h" 00069 #include "IEventReceiver.h" 00070 #include "IFileList.h" 00071 #include "IFileSystem.h" 00072 #include "IGeometryCreator.h" 00073 #include "IGPUProgrammingServices.h" 00074 #include "IGUIButton.h" 00075 #include "IGUICheckBox.h" 00076 #include "IGUIColorSelectDialog.h" 00077 #include "IGUIComboBox.h" 00078 #include "IGUIContextMenu.h" 00079 #include "IGUIEditBox.h" 00080 #include "IGUIElement.h" 00081 #include "IGUIElementFactory.h" 00082 #include "IGUIEnvironment.h" 00083 #include "IGUIFileOpenDialog.h" 00084 #include "IGUIFont.h" 00085 #include "IGUIFontBitmap.h" 00086 #include "IGUIImage.h" 00087 #include "IGUIInOutFader.h" 00088 #include "IGUIListBox.h" 00089 #include "IGUIMeshViewer.h" 00090 #include "IGUIScrollBar.h" 00091 #include "IGUISkin.h" 00092 #include "IGUISpinBox.h" 00093 #include "IGUISpriteBank.h" 00094 #include "IGUIStaticText.h" 00095 #include "IGUITabControl.h" 00096 #include "IGUITable.h" 00097 #include "IGUIToolbar.h" 00098 #include "IGUIWindow.h" 00099 #include "IGUITreeView.h" 00100 #include "IImage.h" 00101 #include "IImageLoader.h" 00102 #include "IImageWriter.h" 00103 #include "IIndexBuffer.h" 00104 #include "ILightSceneNode.h" 00105 #include "ILogger.h" 00106 #include "IMaterialRenderer.h" 00107 #include "IMaterialRendererServices.h" 00108 #include "IMesh.h" 00109 #include "IMeshBuffer.h" 00110 #include "IMeshCache.h" 00111 #include "IMeshLoader.h" 00112 #include "IMeshManipulator.h" 00113 #include "IMeshSceneNode.h" 00114 #include "IMeshWriter.h" 00115 #include "IColladaMeshWriter.h" 00116 #include "IMetaTriangleSelector.h" 00117 #include "IOSOperator.h" 00118 #include "IParticleSystemSceneNode.h" // also includes all emitters and attractors 00119 #include "IQ3LevelMesh.h" 00120 #include "IQ3Shader.h" 00121 #include "IReadFile.h" 00122 #include "IReferenceCounted.h" 00123 #include "irrArray.h" 00124 #include "IrrlichtDevice.h" 00125 #include "irrList.h" 00126 #include "irrMap.h" 00127 #include "irrMath.h" 00128 #include "irrString.h" 00129 #include "irrTypes.h" 00130 #include "path.h" 00131 #include "irrXML.h" 00132 #include "ISceneCollisionManager.h" 00133 #include "ISceneLoader.h" 00134 #include "ISceneManager.h" 00135 #include "ISceneNode.h" 00136 #include "ISceneNodeAnimator.h" 00137 #include "ISceneNodeAnimatorCameraFPS.h" 00138 #include "ISceneNodeAnimatorCameraMaya.h" 00139 #include "ISceneNodeAnimatorCollisionResponse.h" 00140 #include "ISceneNodeAnimatorFactory.h" 00141 #include "ISceneNodeFactory.h" 00142 #include "ISceneUserDataSerializer.h" 00143 #include "IShaderConstantSetCallBack.h" 00144 #include "IShadowVolumeSceneNode.h" 00145 #include "ISkinnedMesh.h" 00146 #include "ITerrainSceneNode.h" 00147 #include "ITextSceneNode.h" 00148 #include "ITexture.h" 00149 #include "ITimer.h" 00150 #include "ITriangleSelector.h" 00151 #include "IVertexBuffer.h" 00152 #include "IVideoDriver.h" 00153 #include "IVideoModeList.h" 00154 #include "IVolumeLightSceneNode.h" 00155 #include "IWriteFile.h" 00156 #include "IXMLReader.h" 00157 #include "IXMLWriter.h" 00158 #include "ILightManager.h" 00159 #include "Keycodes.h" 00160 #include "line2d.h" 00161 #include "line3d.h" 00162 #include "matrix4.h" 00163 #include "plane3d.h" 00164 #include "position2d.h" 00165 #include "quaternion.h" 00166 #include "rect.h" 00167 #include "S3DVertex.h" 00168 #include "SAnimatedMesh.h" 00169 #include "SceneParameters.h" 00170 #include "SColor.h" 00171 #include "SExposedVideoData.h" 00172 #include "SIrrCreationParameters.h" 00173 #include "SKeyMap.h" 00174 #include "SLight.h" 00175 #include "SMaterial.h" 00176 #include "SMesh.h" 00177 #include "SMeshBuffer.h" 00178 #include "SMeshBufferLightMap.h" 00179 #include "SMeshBufferTangents.h" 00180 #include "SParticle.h" 00181 #include "SSharedMeshBuffer.h" 00182 #include "SSkinMeshBuffer.h" 00183 #include "SVertexIndex.h" 00184 #include "SViewFrustum.h" 00185 #include "triangle3d.h" 00186 #include "vector2d.h" 00187 #include "vector3d.h" 00188 00300 #include "SIrrCreationParameters.h" 00301 00303 namespace irr 00304 { 00306 00323 extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice( 00324 video::E_DRIVER_TYPE deviceType = video::EDT_SOFTWARE, 00325 // parantheses are necessary for some compilers 00326 const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)), 00327 u32 bits = 16, 00328 bool fullscreen = false, 00329 bool stencilbuffer = false, 00330 bool vsync = false, 00331 IEventReceiver* receiver = 0); 00332 00334 typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDevice )( 00335 video::E_DRIVER_TYPE deviceType, 00336 const core::dimension2d<u32>& windowSize, 00337 u32 bits, 00338 bool fullscreen, 00339 bool stencilbuffer, 00340 bool vsync, 00341 IEventReceiver* receiver); 00342 00343 00345 00352 extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx( 00353 const SIrrlichtCreationParameters& parameters); 00354 00356 typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDeviceEx )( const SIrrlichtCreationParameters& parameters ); 00357 00358 00359 // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES 00360 // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN. 00361 00363 namespace core 00364 { 00365 } 00366 00368 namespace gui 00369 { 00370 } 00371 00373 namespace io 00374 { 00375 } 00376 00378 namespace scene 00379 { 00380 } 00381 00383 namespace video 00384 { 00385 } 00386 } 00387 00392 #endif 00393