Irrlicht 3D Engine
 
Loading...
Searching...
No Matches
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"
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"
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"
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"
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"
134#include "ISceneLoader.h"
135#include "ISceneManager.h"
136#include "ISceneNode.h"
137#include "ISceneNodeAnimator.h"
142#include "ISceneNodeFactory.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"
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"
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
302
304namespace irr
305{
307
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 IRRCALLCONV
#define IRRLICHT_API
Set FPU settings.
Header file containing all scene parameters for modifying mesh loading etc.
Interface of an object which can receive events.
The Irrlicht device. You can create it with createDevice() or createDeviceEx().
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.h:22
File containing useful basic utility functions.
Header file of the irrXML, the Irrlicht XML parser.
E_DRIVER_TYPE
An enum for all types of drivers the Irrlicht Engine supports.
@ EDT_SOFTWARE
The Irrlicht Engine Software renderer.
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
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.
IrrlichtDevice *IRRCALLCONV * funcptr_createDeviceEx(const SIrrlichtCreationParameters &parameters)
typedef for Function Pointer
Definition irrlicht.h:357
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
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDeviceEx(const SIrrlichtCreationParameters &parameters)
Creates an Irrlicht device with the option to specify advanced parameters.
Structure for holding Irrlicht Device creation parameters.