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 informations.
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 "dimension2d.h"
40 #include "ECullingTypes.h"
41 #include "EDebugSceneTypes.h"
42 #include "EDriverFeatures.h"
43 #include "EDriverTypes.h"
44 #include "EGUIAlignment.h"
45 #include "EGUIElementTypes.h"
46 #include "EHardwareBufferFlags.h"
47 #include "EMaterialFlags.h"
48 #include "EMaterialTypes.h"
49 #include "EMeshWriterEnums.h"
50 #include "EMessageBoxFlags.h"
52 #include "ESceneNodeTypes.h"
53 #include "ETerrainElements.h"
54 #include "fast_atof.h"
55 #include "heapsort.h"
56 #include "IAnimatedMesh.h"
57 #include "IAnimatedMeshMD2.h"
58 #include "IAnimatedMeshMD3.h"
59 #include "IAnimatedMeshSceneNode.h"
61 #include "IAttributes.h"
62 #include "IBillboardSceneNode.h"
64 #include "IBoneSceneNode.h"
65 #include "ICameraSceneNode.h"
66 #include "ICursorControl.h"
68 #include "IDynamicMeshBuffer.h"
69 #include "IEventReceiver.h"
70 #include "IFileList.h"
71 #include "IFileSystem.h"
72 #include "IGeometryCreator.h"
74 #include "IGUIButton.h"
75 #include "IGUICheckBox.h"
76 #include "IGUIColorSelectDialog.h"
77 #include "IGUIComboBox.h"
78 #include "IGUIContextMenu.h"
79 #include "IGUIEditBox.h"
80 #include "IGUIElement.h"
81 #include "IGUIElementFactory.h"
82 #include "IGUIEnvironment.h"
83 #include "IGUIFileOpenDialog.h"
84 #include "IGUIFont.h"
85 #include "IGUIFontBitmap.h"
86 #include "IGUIImage.h"
87 #include "IGUIInOutFader.h"
88 #include "IGUIListBox.h"
89 #include "IGUIMeshViewer.h"
90 #include "IGUIScrollBar.h"
91 #include "IGUISkin.h"
92 #include "IGUISpinBox.h"
93 #include "IGUISpriteBank.h"
94 #include "IGUIStaticText.h"
95 #include "IGUITabControl.h"
96 #include "IGUITable.h"
97 #include "IGUIToolbar.h"
98 #include "IGUIWindow.h"
99 #include "IGUITreeView.h"
100 #include "IImage.h"
101 #include "IImageLoader.h"
102 #include "IImageWriter.h"
103 #include "IIndexBuffer.h"
104 #include "ILightSceneNode.h"
105 #include "ILogger.h"
106 #include "IMaterialRenderer.h"
108 #include "IMesh.h"
109 #include "IMeshBuffer.h"
110 #include "IMeshCache.h"
111 #include "IMeshLoader.h"
112 #include "IMeshManipulator.h"
113 #include "IMeshSceneNode.h"
114 #include "IMeshWriter.h"
115 #include "IColladaMeshWriter.h"
116 #include "IMetaTriangleSelector.h"
117 #include "IOSOperator.h"
118 #include "IParticleSystemSceneNode.h" // also includes all emitters and attractors
119 #include "IQ3LevelMesh.h"
120 #include "IQ3Shader.h"
121 #include "IReadFile.h"
122 #include "IReferenceCounted.h"
123 #include "irrArray.h"
124 #include "IRandomizer.h"
125 #include "IrrlichtDevice.h"
126 #include "irrList.h"
127 #include "irrMap.h"
128 #include "irrMath.h"
129 #include "irrString.h"
130 #include "irrTypes.h"
131 #include "path.h"
132 #include "irrXML.h"
133 #include "ISceneCollisionManager.h"
134 #include "ISceneLoader.h"
135 #include "ISceneManager.h"
136 #include "ISceneNode.h"
137 #include "ISceneNodeAnimator.h"
142 #include "ISceneNodeFactory.h"
145 #include "IShadowVolumeSceneNode.h"
146 #include "ISkinnedMesh.h"
147 #include "ITerrainSceneNode.h"
148 #include "ITextSceneNode.h"
149 #include "ITexture.h"
150 #include "ITimer.h"
151 #include "ITriangleSelector.h"
152 #include "IVertexBuffer.h"
153 #include "IVideoDriver.h"
154 #include "IVideoModeList.h"
155 #include "IVolumeLightSceneNode.h"
156 #include "IWriteFile.h"
157 #include "IXMLReader.h"
158 #include "IXMLWriter.h"
159 #include "ILightManager.h"
160 #include "Keycodes.h"
161 #include "line2d.h"
162 #include "line3d.h"
163 #include "matrix4.h"
164 #include "plane3d.h"
165 #include "position2d.h"
166 #include "quaternion.h"
167 #include "rect.h"
168 #include "S3DVertex.h"
169 #include "SAnimatedMesh.h"
170 #include "SceneParameters.h"
171 #include "SColor.h"
172 #include "SExposedVideoData.h"
173 #include "SIrrCreationParameters.h"
174 #include "SKeyMap.h"
175 #include "SLight.h"
176 #include "SMaterial.h"
177 #include "SMesh.h"
178 #include "SMeshBuffer.h"
179 #include "SMeshBufferLightMap.h"
180 #include "SMeshBufferTangents.h"
181 #include "SParticle.h"
182 #include "SSharedMeshBuffer.h"
183 #include "SSkinMeshBuffer.h"
184 #include "SVertexIndex.h"
185 #include "SViewFrustum.h"
186 #include "triangle3d.h"
187 #include "vector2d.h"
188 #include "vector3d.h"
189 
301 #include "SIrrCreationParameters.h"
302 
304 namespace irr
305 {
307 
324  extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice(
326  // parantheses are necessary for some compilers
327  const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)),
328  u32 bits = 16,
329  bool fullscreen = false,
330  bool stencilbuffer = false,
331  bool vsync = false,
332  IEventReceiver* receiver = 0);
333 
336  video::E_DRIVER_TYPE deviceType,
337  const core::dimension2d<u32>& windowSize,
338  u32 bits,
339  bool fullscreen,
340  bool stencilbuffer,
341  bool vsync,
342  IEventReceiver* receiver);
343 
344 
346 
354  const SIrrlichtCreationParameters& parameters);
355 
358 
359 
360  // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES
361  // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN.
362 
364  namespace core
365  {
366  }
367 
369  namespace gui
370  {
371  }
372 
374  namespace io
375  {
376  }
377 
379  namespace scene
380  {
381  }
382 
384  namespace video
385  {
386  }
387 }
388 
393 #endif
394 
#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
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDevice(video::E_DRIVER_TYPE deviceType=video::EDT_SOFTWARE, const core::dimension2d< u32 > &windowSize=(core::dimension2d< u32 >(640, 480)), u32 bits=16, bool fullscreen=false, bool stencilbuffer=false, bool vsync=false, IEventReceiver *receiver=0)
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
The Irrlicht Engine Software renderer.
Definition: EDriverTypes.h:26
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:14
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:58
Structure for holding Irrlicht Device creation parameters.
IrrlichtDevice *IRRCALLCONV * funcptr_createDevice(video::E_DRIVER_TYPE deviceType, const core::dimension2d< u32 > &windowSize, u32 bits, bool fullscreen, bool stencilbuffer, bool vsync, IEventReceiver *receiver)
typedef for Function Pointer
Definition: irrlicht.h:335
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:357
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDeviceEx(const SIrrlichtCreationParameters &parameters)
Creates an Irrlicht device with the option to specify advanced parameters.
Header file of the irrXML, the Irrlicht XML parser.