Irrlicht 3D Engine
irrlicht.h
Go to the documentation of this file.
1 /* irrlicht.h -- interface of the 'Irrlicht Engine'
2 
3  Copyright (C) 2002-2012 Nikolaus Gebhardt
4 
5  This software is provided 'as-is', without any express or implied
6  warranty. In no event will the authors be held liable for any damages
7  arising from the use of this software.
8 
9  Permission is granted to anyone to use this software for any purpose,
10  including commercial applications, and to alter it and redistribute it
11  freely, subject to the following restrictions:
12 
13  1. The origin of this software must not be misrepresented; you must not
14  claim that you wrote the original software. If you use this software
15  in a product, an acknowledgment in the product documentation would be
16  appreciated but is not required.
17  2. Altered source versions must be plainly marked as such, and must not be
18  misrepresented as being the original software.
19  3. This notice may not be removed or altered from any source distribution.
20 
21  Please note that the Irrlicht Engine is based in part on the work of the
22  Independent JPEG Group, the zlib and the libPng. This means that if you use
23  the Irrlicht Engine in your product, you must acknowledge somewhere in your
24  documentation that you've used the IJG code. It would also be nice to mention
25  that you use the Irrlicht Engine, the zlib and libPng. See the README files
26  in the jpeglib, the zlib and libPng for further information.
27 */
28 
29 #ifndef __IRRLICHT_H_INCLUDED__
30 #define __IRRLICHT_H_INCLUDED__
31 
32 #include "IrrCompileConfig.h"
33 #include "aabbox3d.h"
34 #include "CDynamicMeshBuffer.h"
35 #include "CIndexBuffer.h"
36 #include "CMeshBuffer.h"
37 #include "coreutil.h"
38 #include "CVertexBuffer.h"
39 #include "IProfiler.h"
40 #include "dimension2d.h"
41 #include "ECullingTypes.h"
42 #include "EDebugSceneTypes.h"
43 #include "EDriverFeatures.h"
44 #include "EDriverTypes.h"
45 #include "EGUIAlignment.h"
46 #include "EGUIElementTypes.h"
47 #include "EHardwareBufferFlags.h"
48 #include "EMaterialFlags.h"
49 #include "EMaterialTypes.h"
50 #include "EMeshWriterEnums.h"
51 #include "EMessageBoxFlags.h"
53 #include "ESceneNodeTypes.h"
54 #include "ETerrainElements.h"
55 #include "fast_atof.h"
56 #include "heapsort.h"
57 #include "IAnimatedMesh.h"
58 #include "IAnimatedMeshMD2.h"
59 #include "IAnimatedMeshMD3.h"
60 #include "IAnimatedMeshSceneNode.h"
62 #include "IAttributes.h"
63 #include "IBillboardSceneNode.h"
65 #include "IBoneSceneNode.h"
66 #include "ICameraSceneNode.h"
67 #include "IContextManager.h"
68 #include "ICursorControl.h"
70 #include "IDynamicMeshBuffer.h"
71 #include "IEventReceiver.h"
72 #include "IFileList.h"
73 #include "IFileSystem.h"
74 #include "IGeometryCreator.h"
76 #include "IGUIButton.h"
77 #include "IGUICheckBox.h"
78 #include "IGUIColorSelectDialog.h"
79 #include "IGUIComboBox.h"
80 #include "IGUIContextMenu.h"
81 #include "IGUIEditBox.h"
82 #include "IGUIElement.h"
83 #include "IGUIElementFactory.h"
84 #include "IGUIEnvironment.h"
85 #include "IGUIFileOpenDialog.h"
86 #include "IGUIFont.h"
87 #include "IGUIFontBitmap.h"
88 #include "IGUIImage.h"
89 #include "IGUIInOutFader.h"
90 #include "IGUIListBox.h"
91 #include "IGUIMeshViewer.h"
92 #include "IGUIScrollBar.h"
93 #include "IGUISkin.h"
94 #include "IGUISpinBox.h"
95 #include "IGUISpriteBank.h"
96 #include "IGUIStaticText.h"
97 #include "IGUITabControl.h"
98 #include "IGUITable.h"
99 #include "IGUIToolbar.h"
100 #include "IGUIWindow.h"
101 #include "IGUITreeView.h"
102 #include "IGUIProfiler.h"
103 #include "IImage.h"
104 #include "IImageLoader.h"
105 #include "IImageWriter.h"
106 #include "IIndexBuffer.h"
107 #include "ILightSceneNode.h"
108 #include "ILogger.h"
109 #include "IMaterialRenderer.h"
111 #include "IMesh.h"
112 #include "IMeshBuffer.h"
113 #include "IMeshCache.h"
114 #include "IMeshLoader.h"
115 #include "IMeshManipulator.h"
116 #include "IMeshSceneNode.h"
117 #include "IMeshWriter.h"
118 #include "IOctreeSceneNode.h"
119 #include "IColladaMeshWriter.h"
120 #include "IMetaTriangleSelector.h"
121 #include "IOSOperator.h"
122 #include "IParticleSystemSceneNode.h" // also includes all emitters and attractors
123 #include "IQ3LevelMesh.h"
124 #include "IQ3Shader.h"
125 #include "IReadFile.h"
126 #include "IReferenceCounted.h"
127 #include "irrArray.h"
128 #include "IRandomizer.h"
129 #include "IRenderTarget.h"
130 #include "IrrlichtDevice.h"
131 #include "irrList.h"
132 #include "irrMap.h"
133 #include "irrMath.h"
134 #include "irrString.h"
135 #include "irrTypes.h"
136 #include "path.h"
137 #include "irrXML.h"
138 #include "ISceneCollisionManager.h"
139 #include "ISceneLoader.h"
140 #include "ISceneManager.h"
141 #include "ISceneNode.h"
142 #include "ISceneNodeAnimator.h"
147 #include "ISceneNodeFactory.h"
150 #include "IShadowVolumeSceneNode.h"
151 #include "ISkinnedMesh.h"
152 #include "ITerrainSceneNode.h"
153 #include "ITextSceneNode.h"
154 #include "ITexture.h"
155 #include "ITimer.h"
156 #include "ITriangleSelector.h"
157 #include "IVertexBuffer.h"
158 #include "IVideoDriver.h"
159 #include "IVideoModeList.h"
160 #include "IVolumeLightSceneNode.h"
161 #include "IWriteFile.h"
162 #include "IXMLReader.h"
163 #include "IXMLWriter.h"
164 #include "ILightManager.h"
165 #include "Keycodes.h"
166 #include "line2d.h"
167 #include "line3d.h"
168 #include "matrix4.h"
169 #include "plane3d.h"
170 #include "position2d.h"
171 #include "quaternion.h"
172 #include "rect.h"
173 #include "S3DVertex.h"
174 #include "SAnimatedMesh.h"
175 #include "SceneParameters.h"
176 #include "SColor.h"
177 #include "SExposedVideoData.h"
178 #include "SIrrCreationParameters.h"
179 #include "SKeyMap.h"
180 #include "SLight.h"
181 #include "SMaterial.h"
182 #include "SMesh.h"
183 #include "SMeshBuffer.h"
184 #include "SMeshBufferLightMap.h"
185 #include "SMeshBufferTangents.h"
186 #include "SParticle.h"
187 #include "SSharedMeshBuffer.h"
188 #include "SSkinMeshBuffer.h"
189 #include "SVertexIndex.h"
190 #include "SViewFrustum.h"
191 #include "triangle3d.h"
192 #include "vector2d.h"
193 #include "vector3d.h"
194 
306 #include "SIrrCreationParameters.h"
307 
309 namespace irr
310 {
312 
329  extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice(
331  // parentheses are necessary for some compilers
332  const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)),
333  u32 bits = 32,
334  bool fullscreen = false,
335  bool stencilbuffer = true,
336  bool vsync = false,
337  IEventReceiver* receiver = 0);
338 
341  video::E_DRIVER_TYPE driverType,
342  const core::dimension2d<u32>& windowSize,
343  u32 bits,
344  bool fullscreen,
345  bool stencilbuffer,
346  bool vsync,
347  IEventReceiver* receiver);
348 
349 
351 
359  const SIrrlichtCreationParameters& parameters);
360 
363 
364 
365  // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES
366  // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN.
367 
369  namespace core
370  {
371  }
372 
374  namespace gui
375  {
376  }
377 
379  namespace io
380  {
381  }
382 
384  namespace scene
385  {
386  }
387 
389  namespace video
390  {
391  }
392 }
393 
398 #endif
399 
#define IRRLICHT_API
Set FPU settings.
The Irrlicht device. You can create it with createDevice() or createDeviceEx().
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
The Irrlicht Engine Software renderer.
Definition: EDriverTypes.h:28
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDevice(video::E_DRIVER_TYPE driverType=video::EDT_SOFTWARE, const core::dimension2d< u32 > &windowSize=(core::dimension2d< u32 >(640, 480)), u32 bits=32, bool fullscreen=false, bool stencilbuffer=true, bool vsync=false, IEventReceiver *receiver=0)
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
File containing useful basic utility functions.
Interface of an object which can receive events.
E_DRIVER_TYPE
An enum for all types of drivers the Irrlicht Engine supports.
Definition: EDriverTypes.h:16
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
Structure for holding Irrlicht Device creation parameters.
Header file containing all scene parameters for modifying mesh loading etc.
#define IRRCALLCONV
IrrlichtDevice *IRRCALLCONV * funcptr_createDeviceEx(const SIrrlichtCreationParameters &parameters)
typedef for Function Pointer
Definition: irrlicht.h:362
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDeviceEx(const SIrrlichtCreationParameters &parameters)
Creates an Irrlicht device with the option to specify advanced parameters.
IrrlichtDevice *IRRCALLCONV * funcptr_createDevice(video::E_DRIVER_TYPE driverType, const core::dimension2d< u32 > &windowSize, u32 bits, bool fullscreen, bool stencilbuffer, bool vsync, IEventReceiver *receiver)
typedef for Function Pointer
Definition: irrlicht.h:340
Header file of the irrXML, the Irrlicht XML parser.