Irrlicht 3D Engine: irrlicht.h Source File

| Irrlicht 3D Engine |

irrlicht.h
Go to the documentation of this file.

    00001 /* irrlicht.h -- interface of the 'Irrlicht Engine'
    00002
    00003   Copyright (C) 2002-2012 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 "IRandomizer.h"
    00125 #include "IrrlichtDevice.h"
    00126 #include "irrList.h"
    00127 #include "irrMap.h"
    00128 #include "irrMath.h"
    00129 #include "irrString.h"
    00130 #include "irrTypes.h"
    00131 #include "path.h"
    00132 #include "irrXML.h"
    00133 #include "ISceneCollisionManager.h"
    00134 #include "ISceneLoader.h"
    00135 #include "ISceneManager.h"
    00136 #include "ISceneNode.h"
    00137 #include "ISceneNodeAnimator.h"
    00138 #include "ISceneNodeAnimatorCameraFPS.h"
    00139 #include "ISceneNodeAnimatorCameraMaya.h"
    00140 #include "ISceneNodeAnimatorCollisionResponse.h"
    00141 #include "ISceneNodeAnimatorFactory.h"
    00142 #include "ISceneNodeFactory.h"
    00143 #include "ISceneUserDataSerializer.h"
    00144 #include "IShaderConstantSetCallBack.h"
    00145 #include "IShadowVolumeSceneNode.h"
    00146 #include "ISkinnedMesh.h"
    00147 #include "ITerrainSceneNode.h"
    00148 #include "ITextSceneNode.h"
    00149 #include "ITexture.h"
    00150 #include "ITimer.h"
    00151 #include "ITriangleSelector.h"
    00152 #include "IVertexBuffer.h"
    00153 #include "IVideoDriver.h"
    00154 #include "IVideoModeList.h"
    00155 #include "IVolumeLightSceneNode.h"
    00156 #include "IWriteFile.h"
    00157 #include "IXMLReader.h"
    00158 #include "IXMLWriter.h"
    00159 #include "ILightManager.h"
    00160 #include "Keycodes.h"
    00161 #include "line2d.h"
    00162 #include "line3d.h"
    00163 #include "matrix4.h"
    00164 #include "plane3d.h"
    00165 #include "position2d.h"
    00166 #include "quaternion.h"
    00167 #include "rect.h"
    00168 #include "S3DVertex.h"
    00169 #include "SAnimatedMesh.h"
    00170 #include "SceneParameters.h"
    00171 #include "SColor.h"
    00172 #include "SExposedVideoData.h"
    00173 #include "SIrrCreationParameters.h"
    00174 #include "SKeyMap.h"
    00175 #include "SLight.h"
    00176 #include "SMaterial.h"
    00177 #include "SMesh.h"
    00178 #include "SMeshBuffer.h"
    00179 #include "SMeshBufferLightMap.h"
    00180 #include "SMeshBufferTangents.h"
    00181 #include "SParticle.h"
    00182 #include "SSharedMeshBuffer.h"
    00183 #include "SSkinMeshBuffer.h"
    00184 #include "SVertexIndex.h"
    00185 #include "SViewFrustum.h"
    00186 #include "triangle3d.h"
    00187 #include "vector2d.h"
    00188 #include "vector3d.h"
    00189
    00301 #include "SIrrCreationParameters.h"
    00302
    00304 namespace irr
    00305 {
    00307
    00324     extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice(
    00325         video::E_DRIVER_TYPE deviceType = video::EDT_SOFTWARE,
    00326         // parantheses are necessary for some compilers
    00327         const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)),
    00328         u32 bits = 16,
    00329         bool fullscreen = false,
    00330         bool stencilbuffer = false,
    00331         bool vsync = false,
    00332         IEventReceiver* receiver = 0);
    00333
    00335     typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDevice )(
    00336             video::E_DRIVER_TYPE deviceType,
    00337             const core::dimension2d<u32>& windowSize,
    00338             u32 bits,
    00339             bool fullscreen,
    00340             bool stencilbuffer,
    00341             bool vsync,
    00342             IEventReceiver* receiver);
    00343
    00344
    00346
    00353     extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(
    00354         const SIrrlichtCreationParameters& parameters);
    00355
    00357     typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDeviceEx )( const SIrrlichtCreationParameters& parameters );
    00358
    00359
    00360     // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES
    00361     // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN.
    00362
    00364     namespace core
    00365     {
    00366     }
    00367
    00369     namespace gui
    00370     {
    00371     }
    00372
    00374     namespace io
    00375     {
    00376     }
    00377
    00379     namespace scene
    00380     {
    00381     }
    00382
    00384     namespace video
    00385     {
    00386     }
    00387 }
    00388
    00393 #endif
    00394